{"_id":"roosterjs-editor-api","_rev":"379-905c33bf63e7363f7b98030a8adeff00","name":"roosterjs-editor-api","description":"Programming API for roosterjs","dist-tags":{"darkmode":"7.4.1-darkmode.1","internal":"7.6.0-internal.0","vnext":"7.15.0-vnext.4","beta":"8.0.0-beta.19","dark":"8.2.5-dark.3","size-optimized":"8.20.0-size-optimized.0","dev":"8.27.1-dev.2","latest":"8.62.0"},"versions":{"5.2.0":{"name":"roosterjs-editor-api","version":"5.2.0","_id":"roosterjs-editor-api@5.2.0","maintainers":[{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"dist":{"shasum":"7a445c69fdbb29a1038179816b98b9e93a08a6df","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-5.2.0.tgz","integrity":"sha512-UvL8O7SFlWYvJf4neN2W79DCMkRtGFbIRstqwhq/q5vxHZ6V8RqVUXp4U5T2jwUIKzHc3mb4/mrVDpC3meLoqQ==","signatures":[{"sig":"MEQCIDajR4viWibk3qnt2DpwiEEWc4q9fBQh816wXl9xv09ZAiB9gxKhZFdfmQhTi4puGRy+/THOChQSARW73Ph9HPaAYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","_from":".","_shasum":"7a445c69fdbb29a1038179816b98b9e93a08a6df","scripts":{"lint":"tslint --project tsconfig.json","test":"node ../../node_modules/jasmine/bin/jasmine.js JASMINE_CONFIG_PATH=jasmine.json --verbose","build":"npm run copy-project-files && npm run lint && node ../../node_modules/typescript/lib/tsc.js","start":"npm run copy-project-files && node ../../node_modules/typescript/lib/tsc.js -w","copy-project-files":"node ../../tools/copy-project-files.js"},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"_npmVersion":"3.10.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"6.9.0","dependencies":{"roosterjs-editor-dom":"5.2.0","roosterjs-editor-core":"5.2.0","roosterjs-editor-types":"5.2.0"},"devDependencies":{"jasmine":"~2.4.1","typescript":"~2.2.2"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-5.2.0.tgz_1505514049677_0.1645932684186846","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"roosterjs-editor-api","version":"6.0.0","_id":"roosterjs-editor-api@6.0.0","maintainers":[{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"dist":{"shasum":"3e153551fc20484dcb55705f247e1460bf33d13f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.0.0.tgz","integrity":"sha512-hPn7J6UWZRlItf1NgeZuWy/Q4jqwYvY2u+pD613582OFNNe0u9BMuXPIT/ijIYERpz9rBiZVMTbdLX3o/wpOtg==","signatures":[{"sig":"MEYCIQDuhBQ2NNbYFSHQK+o/NPjRq3mbYR0F86t5uTBNT9R81QIhAK3fV6TLI7HU+HGmhaqhq6J8yoWtzC+bwzH54EjSBLj3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","_from":".","_shasum":"3e153551fc20484dcb55705f247e1460bf33d13f","scripts":{"lint":"tslint --project tsconfig.json","test":"node ../../node_modules/jasmine/bin/jasmine.js JASMINE_CONFIG_PATH=jasmine.json --verbose","build":"npm run copy-project-files && npm run lint && node ../../node_modules/typescript/lib/tsc.js","start":"npm run copy-project-files && node ../../node_modules/typescript/lib/tsc.js -w","copy-project-files":"node ../../tools/copy-project-files.js"},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"_npmVersion":"3.10.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"6.9.0","dependencies":{"roosterjs-editor-dom":"6.0.0","roosterjs-editor-core":"6.0.0","roosterjs-editor-types":"6.0.0"},"devDependencies":{"jasmine":"~2.4.1","typescript":"~2.2.2"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.0.0.tgz_1505514848927_0.7269748516846448","host":"s3://npm-registry-packages"}},"6.0.1":{"name":"roosterjs-editor-api","version":"6.0.1","_id":"roosterjs-editor-api@6.0.1","maintainers":[{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"dist":{"shasum":"d2eb247bfe1c4a126c1202ddce0130873eb28b1d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.0.1.tgz","integrity":"sha512-VvUcX8j85TPz/Ds42p8NkeY0RNzfWPkQr0op8BJy20VHqHLEX34erg6lJSdsBF22s6WJQ7b/amsQ5+cZzRxLpw==","signatures":[{"sig":"MEQCIDpB4B7p6yFdIIYLBHk4BruiOPIx/L+8vbK42up+0qV6AiBsJkIb76sCHcW+QTpWr4NSZo1rAZUafstdSs62qivqew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","_from":".","_shasum":"d2eb247bfe1c4a126c1202ddce0130873eb28b1d","scripts":{"lint":"tslint --project tsconfig.json","test":"node ../../node_modules/jasmine/bin/jasmine.js JASMINE_CONFIG_PATH=jasmine.json --verbose","build":"npm run copy-project-files && npm run lint && node ../../node_modules/typescript/lib/tsc.js","start":"npm run copy-project-files && node ../../node_modules/typescript/lib/tsc.js -w","copy-project-files":"node ../../tools/copy-project-files.js"},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"_npmVersion":"3.10.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"6.9.0","dependencies":{"roosterjs-editor-dom":"6.0.1","roosterjs-editor-core":"6.0.1","roosterjs-editor-types":"6.0.1"},"devDependencies":{"jasmine":"~2.4.1","typescript":"~2.2.2"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.0.1.tgz_1506449446569_0.674402650212869","host":"s3://npm-registry-packages"}},"6.1.0":{"name":"roosterjs-editor-api","version":"6.1.0","license":"MIT","_id":"roosterjs-editor-api@6.1.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"df1a6077e9a602d5ff3253eba64c7b87e0329e4b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.1.0.tgz","integrity":"sha512-m8spkvaQWMVVJf0L4e1Hj5kl5uWz8ya4yH4aD+uIT8hrfzbcZlMKlrOn9rsl5aTieoyvYZXawnQXEgPNaeaqqQ==","signatures":[{"sig":"MEQCIDfCwKDa5q0tqyhWpZa/nMNyPXFImKjvsn1B0thTzuoQAiAOQ9GPgxhpU3CRJRgsu8iOvE8dNraUPJqvnBf0v1rOGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","_from":".","_shasum":"df1a6077e9a602d5ff3253eba64c7b87e0329e4b","scripts":{},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"3.10.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"6.9.0","dependencies":{"roosterjs-editor-dom":"6.1.0","roosterjs-editor-core":"6.1.0","roosterjs-editor-types":"6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.1.0.tgz_1506709818625_0.9685501060448587","host":"s3://npm-registry-packages"}},"6.1.1":{"name":"roosterjs-editor-api","version":"6.1.1","license":"MIT","_id":"roosterjs-editor-api@6.1.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a885452af2c900780ea0d2a4475421837bce701d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.1.1.tgz","integrity":"sha512-F9K00SCN2dTrIZdb8mOvWP3t2qwT5+FNE0eAr975fSmoWNEySSL1h99ktDK5z0Zo+IwjwlEAt2Rdu0i+2BR+Kw==","signatures":[{"sig":"MEUCIQC6SdH5Fm8xvi3aDuAsPYWqXDCPRIDK1izwgf4tyl5BqQIgepZx3a01IieIKbXm/8IUbAR7Ro32vA5Jb4rTMGlHx9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","_from":".","_shasum":"a885452af2c900780ea0d2a4475421837bce701d","scripts":{},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"3.10.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"6.9.0","dependencies":{"roosterjs-editor-dom":"6.1.1","roosterjs-editor-core":"6.1.1","roosterjs-editor-types":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.1.1.tgz_1507307233506_0.32958087231963873","host":"s3://npm-registry-packages"}},"6.2.0":{"name":"roosterjs-editor-api","version":"6.2.0","license":"MIT","_id":"roosterjs-editor-api@6.2.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a90cae5c63d1235e08d3a0777a23f7ecf747e495","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.2.0.tgz","integrity":"sha512-a6OtU4KY9o/A+aQovXVUwynK7CBwuHX5mY0uN000U2Sg8bft+2D03HCij2HFf9FiefgIwBRCSBgR40LkiSv5bw==","signatures":[{"sig":"MEQCIFEtBW61F4TThTPZPKt7ydYt7KsQ8LsEOiNs103Bzj3kAiAMpg03dtUG4vzT3eYLTv9wPSh0RIAFN77ZjNU4Ynmz8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","_from":".","_shasum":"a90cae5c63d1235e08d3a0777a23f7ecf747e495","scripts":{},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"3.10.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"6.9.0","dependencies":{"roosterjs-editor-dom":"6.2.0","roosterjs-editor-core":"6.2.0","roosterjs-editor-types":"6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.2.0.tgz_1507660466624_0.6545017026364803","host":"s3://npm-registry-packages"}},"6.3.0":{"name":"roosterjs-editor-api","version":"6.3.0","license":"MIT","_id":"roosterjs-editor-api@6.3.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ee50dee22bd2ebae2f06599dde265ed70270fa7a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.3.0.tgz","integrity":"sha512-NbtgFZ6ktL4tlzvHzQcG1ncVbMnMOC7Ydr7UVwLttcpbH2gdsgogzOPb49urq63MxSN8o9McC1/6cbI5EFyhQA==","signatures":[{"sig":"MEUCIQD/yNkk54yoe3mZMfOWtrHl/RGOKnAJKnEEPg8N9t8rtAIgX0B3ZVw4+xlmC2+cV8EcnVBI0EKez5DvYXqQm+a5Tu8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","_from":".","_shasum":"ee50dee22bd2ebae2f06599dde265ed70270fa7a","scripts":{},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"3.10.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"6.9.0","dependencies":{"roosterjs-editor-dom":"6.3.0","roosterjs-editor-core":"6.3.0","roosterjs-editor-types":"6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.3.0.tgz_1508866506474_0.8364496536087245","host":"s3://npm-registry-packages"}},"6.3.1":{"name":"roosterjs-editor-api","version":"6.3.1","license":"MIT","_id":"roosterjs-editor-api@6.3.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"84d0d3131ec29059c892cfcf948c81a164662fe6","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.3.1.tgz","integrity":"sha512-0wDv6AL4O/FRih8RRSPpa4u42+Gd7IvrCZumxTlBCC1lAiswxitjfQ2E3YwgxL9PD/k4PQz80Bnf8DdG0E38Xw==","signatures":[{"sig":"MEUCIAh2elOoqYk/7cryhC5DWdhtKRpyl3PGeiHsK470FAeOAiEAw2LR4hErSAIhNlftOLpJkkSicnC0TJlynPXluxb8qGA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.3.1","roosterjs-editor-core":"6.3.1","roosterjs-editor-types":"6.3.1"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.3.1.tgz_1509135215242_0.058393328450620174","host":"s3://npm-registry-packages"}},"6.3.2":{"name":"roosterjs-editor-api","version":"6.3.2","license":"MIT","_id":"roosterjs-editor-api@6.3.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6341d4d58a37dff0b365021b35f3c7d96f2b656d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.3.2.tgz","integrity":"sha512-Dsp+WPF3X7nZ57OjJvLu7Ns2HeXbo0fsCPI9kdyZRKFStG3IgiAU3RU2Nll2EfnfBrjYZgTWzZB6Ub6eyInfFg==","signatures":[{"sig":"MEUCIQDAUnuyNFSlbwrkKEToXFpkMZwL/WwtvprWQ+KU+yZQ0wIgaPF8ObUWaJI5ntAREuGUOtHVX4jtBe0mAuInRrMClzc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.3.2","roosterjs-editor-core":"6.3.2","roosterjs-editor-types":"6.3.2"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.3.2.tgz_1509144008018_0.6172313597053289","host":"s3://npm-registry-packages"}},"6.3.3":{"name":"roosterjs-editor-api","version":"6.3.3","license":"MIT","_id":"roosterjs-editor-api@6.3.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"89f2a5827655cc918875c317b64253dc6d17c35e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.3.3.tgz","integrity":"sha512-pAR2+J2OpkBygWzOqwIayXLplaQmpiuKcAUgYz7AVK7sqWgqFGDs95SezHFQbbDfm8P+v9mSefn3GYgwPu2MGA==","signatures":[{"sig":"MEYCIQCOTdbcNdePX92vc0pOHlkMKQopd6zBWL3Ww/MBOpkeVQIhAJk3RmTJWu26yBhBugDbALT5mLgew5SmX8HBy1vHQkam","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.3.3","roosterjs-editor-core":"6.3.3","roosterjs-editor-types":"6.3.3"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.3.3.tgz_1510210896038_0.5629974873736501","host":"s3://npm-registry-packages"}},"6.3.4":{"name":"roosterjs-editor-api","version":"6.3.4","license":"MIT","_id":"roosterjs-editor-api@6.3.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a212dcc9dde04f53f560e30cfeebd5339875b6c4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.3.4.tgz","integrity":"sha512-DKZf4VpDmLLixjTT8Z+H4NQ/sn8N0QVq+6ll8svSAWJr2yj03tBjpILLSWvnwaz+X7R55+WTueABRLhvazm1iA==","signatures":[{"sig":"MEYCIQDNIoxTi4UjsqMzweAQHHHrsVQcVAuorJ3A+tKgGxYOmQIhAKTf8u4yla1yy5Rco2Wk0Va5vrpMcAESDE9REgFch57I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.3.4","roosterjs-editor-core":"6.3.4","roosterjs-editor-types":"6.3.4"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.3.4.tgz_1510676192979_0.034190203761681914","host":"s3://npm-registry-packages"}},"6.3.5":{"name":"roosterjs-editor-api","version":"6.3.5","license":"MIT","_id":"roosterjs-editor-api@6.3.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"1544c30f4ed49ba30a7433027f889175412b7c4d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.3.5.tgz","integrity":"sha512-wqID5HkFheUqY/6in3d/YbGLYu4zC1k9I0Lc2dcmFys2V3t2Crtv2N+ydAI9gKyoxAbPnpfikhYNpgMHStTfgA==","signatures":[{"sig":"MEQCIFcihyTrCpA5RSOX3JVTuUy2BCN/wmYGyxnwDl61F1ijAiBshWIRe5FXSi3AH73hseCMq0AwO+5tT5JCY56UEWMr/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.3.5","roosterjs-editor-core":"6.3.5","roosterjs-editor-types":"6.3.5"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.3.5.tgz_1510809119377_0.6247190318536013","host":"s3://npm-registry-packages"}},"6.3.6":{"name":"roosterjs-editor-api","version":"6.3.6","license":"MIT","_id":"roosterjs-editor-api@6.3.6","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ba78a52cb2ce7f2ed0fe9aea32e273cb6952f1b7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.3.6.tgz","integrity":"sha512-3mD+XJuS8jGjJ9Dn6vDQ/4br5XpuoiIUDWWGD5X1/8vGNM5VAbHcsfiU0KnRvwUvmVuK4MrMypvZtY5Xf7LP4g==","signatures":[{"sig":"MEQCIEcJ9DkZ9utKOQw6LQvZDAuWrY70SLzV3l8g94gGx0RXAiAEdKHj5OTnWov6mYu5QpWCgPhh05fvfGrBd2bZeCm4xA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.3.6","roosterjs-editor-core":"6.3.6","roosterjs-editor-types":"6.3.6"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.3.6.tgz_1511841593959_0.4240549085661769","host":"s3://npm-registry-packages"}},"6.4.0":{"name":"roosterjs-editor-api","version":"6.4.0","license":"MIT","_id":"roosterjs-editor-api@6.4.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"1b5849b8d3f859e9b1938770b17f27e8e7ff5172","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.4.0.tgz","integrity":"sha512-Qb5Ssu4B9jbVcHq98JA2hE895jb9NOMl881UrADwxDzPdVH31bLnXAFQjXCLE9aTk5BotjSsaJpU7KIB03pd0w==","signatures":[{"sig":"MEUCIFtH1pk9LMRjec5MlsIcBgPYIgowjPBXFtgJmQDP1hO8AiEAwOPvOZs8mOBF7rBqBo8cqZLUatxIQEwn3mdB/KsxuWc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.4.0","roosterjs-editor-core":"6.4.0","roosterjs-editor-types":"6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.4.0.tgz_1512799235613_0.7674103556200862","host":"s3://npm-registry-packages"}},"6.4.1":{"name":"roosterjs-editor-api","version":"6.4.1","license":"MIT","_id":"roosterjs-editor-api@6.4.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ec003e4d755a1484bd5c4b909f2b98e197c29d8c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.4.1.tgz","integrity":"sha512-8hBQbFYUPfIH6BEU+47CWf+ota0Zhpnbxo/tkBijPEVEbnfo0jlZ+K49AY9zn0PfdaK19MSG0vbsfaoB7puFjQ==","signatures":[{"sig":"MEQCIDksnGZeeNwd35ioZxzGn4ypa/Hvh2PxjHPcfMaE74OFAiBHkle9kUUmdRfR303iEhooMOyY94Lw1BKRaFWsya8ffA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.4.1","roosterjs-editor-core":"6.4.1","roosterjs-editor-types":"6.4.1"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.4.1.tgz_1514959971195_0.6103621993679553","host":"s3://npm-registry-packages"}},"6.5.0":{"name":"roosterjs-editor-api","version":"6.5.0","license":"MIT","_id":"roosterjs-editor-api@6.5.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4385cf2ae587fc4fbffa18bcb61ed1b6276b7f37","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.5.0.tgz","integrity":"sha512-m7jmdVyX0Sp0dYVltk7MhcyFCWVqPrrS30Xm1LS/qcUKtRrrJACeXZgGiHLT56kP0x5HM8HLCv97Nchlw1PTrA==","signatures":[{"sig":"MEYCIQCZLJJYq4NYZk7M77ENHo45Er7yH3QowdoWo78HrNQkrwIhAJHM4BIsL0DK1xfRLbZn+IOz/rVOZ61S9insc8Sot773","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.5.0","roosterjs-editor-core":"6.5.0","roosterjs-editor-types":"6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.5.0.tgz_1516252336719_0.7141578919254243","host":"s3://npm-registry-packages"}},"6.5.1":{"name":"roosterjs-editor-api","version":"6.5.1","license":"MIT","_id":"roosterjs-editor-api@6.5.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"5c5eab584a568e9248309abcfd0e595cfe9b05f3","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.5.1.tgz","integrity":"sha512-KA/VHPHkckXmtgipyHMYyQwjnirxixap6+SHWElBqQQzxrBz1UES3kbLoLeR4MFMdZwW5X4/tJeo3/YZd5/gBQ==","signatures":[{"sig":"MEUCIQCiiVk9vuILtZBaCF7RYFn+zE4jB/0vL0OFyeuzTga8VgIgW/4ePza8hRj8cgT+XJvYgSaSjB2CS32+xaF/XfCih6Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.9.0","dependencies":{"roosterjs-editor-dom":"6.5.1","roosterjs-editor-core":"6.5.1","roosterjs-editor-types":"6.5.1"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.5.1.tgz_1516665981293_0.0029894046019762754","host":"s3://npm-registry-packages"}},"6.5.2":{"name":"roosterjs-editor-api","version":"6.5.2","license":"MIT","_id":"roosterjs-editor-api@6.5.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"43e32818c541564be186f9f27567745137aa9f2d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.5.2.tgz","integrity":"sha512-Pw+W5yGJasVhBdlTMqVEY9FMJtR5PQpA6KQrJ3RbZPs6wDpGUTRaajIRbKq6dCEg2Q9zbnqM4QnFDE9sVnWghA==","signatures":[{"sig":"MEUCIBesH4iaU5hBkZdIubtt/beLf3uB5c/iLL4MDa8TsbXaAiEA/ulX03foU7bdHA34YfXUgUbP9bJxyx63ymZYongx6yU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.5.2","roosterjs-editor-core":"6.5.2","roosterjs-editor-types":"6.5.2"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.5.2.tgz_1517430697297_0.5062754403334111","host":"s3://npm-registry-packages"}},"6.6.0":{"name":"roosterjs-editor-api","version":"6.6.0","license":"MIT","_id":"roosterjs-editor-api@6.6.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f3a893ae1667179fee86b6a608b14d35443faa99","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.6.0.tgz","integrity":"sha512-UreNupwKPgqTH3s4ZVj4rsZKYYop1LX82CJxHLOEjt0t+zylwSqshbIEvVF9vSZLj0PbVtSVCsvBiyjovKZHrg==","signatures":[{"sig":"MEQCIAzCJrCyLUuqB1uzv+3PdEDQfePhQC1bjzX36uJKcSPRAiAb2golJCuQNJ+tLqdZI0+vT7/JgjfptcdK3kZTIBPs+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.9.0","dependencies":{"roosterjs-editor-dom":"6.6.0","roosterjs-editor-core":"6.6.0","roosterjs-editor-types":"6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api-6.6.0.tgz_1517861391487_0.6686486343387514","host":"s3://npm-registry-packages"}},"6.7.0":{"name":"roosterjs-editor-api","version":"6.7.0","license":"MIT","_id":"roosterjs-editor-api@6.7.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bc0596f2a569aaa6e2e0a66a080ef561fa9d4da1","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.7.0.tgz","fileCount":165,"integrity":"sha512-q6e+LF97M9VV4IwoMDttEj5H0v5wbJImYwnbuZazgzwB+ht3X14T36AqyGG/1KnALjJ5M+An0J2dui+qy2J0WQ==","signatures":[{"sig":"MEUCIDMiAfENm5FrMqdVJ/lT2VwUYxesIIQOuAY7EgL9C0aRAiEAnS71Te2YIl6bgi3lA5vEQAVplQs4hRUCQSZ81pwvE2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":249720},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.7.0","roosterjs-editor-core":"6.7.0","roosterjs-editor-types":"6.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.7.0_1518410765936_0.9564788704100118","host":"s3://npm-registry-packages"}},"6.7.2":{"name":"roosterjs-editor-api","version":"6.7.2","license":"MIT","_id":"roosterjs-editor-api@6.7.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"23f3ccc771fba0d4b485ff08df6c1038da3b8bcc","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.7.2.tgz","fileCount":165,"integrity":"sha512-PmID1NFo/d5q9pSLARGDeJZjOxrgkCPSqoODhITYUXJkv4rFGFvOJ+PGIQfifE8C/5H6UZrU51U3GtX34sm1hA==","signatures":[{"sig":"MEQCIGPC2fjPdu0loenPUnZ1DmE+hMpArswtHtY1OHPwde4GAiB/AJ/urXsIICc6/Y7I270t6N6VbiFzWAdiLB9iYY9GRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":249720},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.7.2","roosterjs-editor-core":"6.7.2","roosterjs-editor-types":"6.7.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.7.2_1518482168824_0.9539721654834006","host":"s3://npm-registry-packages"}},"6.7.3":{"name":"roosterjs-editor-api","version":"6.7.3","license":"MIT","_id":"roosterjs-editor-api@6.7.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a7750a5511d58457be1f46bac5cc461a071b8f46","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.7.3.tgz","fileCount":165,"integrity":"sha512-0goEtgXSKCOYxX0Lc+4m8aMQ7rkeLSswzxpJK3mq2rcVRpj+Ptd9MUlRlxTrgHPq9NFT+y66dRTx5boINKJM8g==","signatures":[{"sig":"MEUCICYVlz/AUB2CgQkg9ODAVUvhi/0RFEboVt+1Dcz7J8AWAiEA7gZMxYm3U2BswiAWYXZ8wJGdv8ZmBtRpn7enZ0i7xMk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":249734},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.7.3","roosterjs-editor-core":"6.7.3","roosterjs-editor-types":"6.7.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.7.3_1518663356429_0.09208894773495424","host":"s3://npm-registry-packages"}},"6.7.4":{"name":"roosterjs-editor-api","version":"6.7.4","license":"MIT","_id":"roosterjs-editor-api@6.7.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0d6fd06f5a303870bdbb93991714f749ed6c98a3","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.7.4.tgz","fileCount":165,"integrity":"sha512-abF31X/7q+TzB68kcU8yFLMaOgrX4/S0vDdhQKyoXYTeCx11tnL7ru6rT/pVLW1mMF/PkLu+YTIN7OaBK1GDoA==","signatures":[{"sig":"MEYCIQD8oABkEhgnEQoVj4KR7ezPgMKHaDCZiniIbt892bRRugIhAIk7tlfhAKdLI3lrGkFb1BisKvNGBiW/G6e3mJOCAg/m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":249734},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.7.4","roosterjs-editor-core":"6.7.4","roosterjs-editor-types":"6.7.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.7.4_1518822755999_0.8683051460482094","host":"s3://npm-registry-packages"}},"6.7.5":{"name":"roosterjs-editor-api","version":"6.7.5","license":"MIT","_id":"roosterjs-editor-api@6.7.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"cabd47d5212162bf764a0433000b853b4427ba67","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.7.5.tgz","fileCount":165,"integrity":"sha512-PXHSxzirpkBH+7vZtyTvJvd1+r+XLK+JjDKsQUL62MlAaiM4gnlC0DKJ6JQcbOfVHjWEZ/YIwDPh2FPi/5+/ig==","signatures":[{"sig":"MEMCH20yHhMAqRqyeEge6c1oDpA5+7CPsVsxkCJ+3MCBR6cCICWVMyC8IaLgjCq2DDYeYa6lnGn5YMmdTsXUsV4sdTKV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":249891},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.7.5","roosterjs-editor-core":"6.7.5","roosterjs-editor-types":"6.7.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.7.5_1518841071547_0.7119604449908883","host":"s3://npm-registry-packages"}},"6.8.0":{"name":"roosterjs-editor-api","version":"6.8.0","license":"MIT","_id":"roosterjs-editor-api@6.8.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"28b27e127ea313384161d5b155cee97e013c6085","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.8.0.tgz","fileCount":165,"integrity":"sha512-bnluTQ7+s27e0/8NWYawgO3m8cebcO1B+EFlrahn8wIQnfjjqy+X+tV2wQ5uOAMc1Us2exloedDcw9kjApprUg==","signatures":[{"sig":"MEUCIQCUocT1v9mq0UjxJZa8FK5PHAylGe49jZfXGmffK2ydFwIgGtqdiSWakf4FmecZj8oatxOOuA138G4VLESzVT5Rhq4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":249822},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.8.0","roosterjs-editor-core":"6.8.0","roosterjs-editor-types":"6.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.8.0_1519756215084_0.09798827459916404","host":"s3://npm-registry-packages"}},"6.8.1":{"name":"roosterjs-editor-api","version":"6.8.1","license":"MIT","_id":"roosterjs-editor-api@6.8.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0d14cf9d828458d1971520dab17b4158a21a7b7f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.8.1.tgz","fileCount":165,"integrity":"sha512-k4Ub9NT2c2MFaXyMhV7PhovsJEj4g5IOBoJhBp4EnopPtWNuhHXjUZazvlNkjmWslSPiY0mYAPjAGZhiKGsswg==","signatures":[{"sig":"MEUCIF1GXNUNK9lXF0edfa3FJL6TYa+7973MjZitRq2mUETHAiEAsCP0TK27uhgAeVFosklstRqjMExrufvh0TbfDr5Pxww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":250248},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.8.1","roosterjs-editor-core":"6.8.1","roosterjs-editor-types":"6.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.8.1_1520367169504_0.4268126596886206","host":"s3://npm-registry-packages"}},"6.8.2":{"name":"roosterjs-editor-api","version":"6.8.2","license":"MIT","_id":"roosterjs-editor-api@6.8.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"01696f287f7d2e39d1c5a579ff5dd12f4004384d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.8.2.tgz","fileCount":165,"integrity":"sha512-cDLoDsEaDVmivMnLBCMLTsU4PPmhZqUocBnIKtUQ/NsvsbWE4HsUpcl6v7//uhThnwWfbuK3xdj6emMRcp1WOA==","signatures":[{"sig":"MEUCIQD6WYBmCg8WDsRRh5DQ6iwVPSe+SEEBf7ogA+uNnUoCtAIgY5Ny4NCailEs0mAayMW8C7WnT0id8tglJMie/9GZ9+4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":250248},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.8.2","roosterjs-editor-core":"6.8.2","roosterjs-editor-types":"6.8.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.8.2_1520892926327_0.4978443012954705","host":"s3://npm-registry-packages"}},"6.8.3":{"name":"roosterjs-editor-api","version":"6.8.3","license":"MIT","_id":"roosterjs-editor-api@6.8.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c0782edcfb676bfc6e6bbd3c02a88c8973070beb","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.8.3.tgz","fileCount":165,"integrity":"sha512-MHnBuEyt/4hUkvukjWljYU7sI9zyOOwBcd8b0WnWLxgMg/7wVSL9jrKakukluQ/veUf/RtXFzzuPUXwcXpeSYg==","signatures":[{"sig":"MEUCIQC/hiU9WKtu/Jmp/7cIPbo3AcB2thsSspkEaiq25s7JDgIgD5wqewqZkFAwTJ0vJv3PFniiwLuV5s5DUJ+syDEVc70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":250248},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.8.3","roosterjs-editor-core":"6.8.3","roosterjs-editor-types":"6.8.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.8.3_1520969625321_0.7993438558892543","host":"s3://npm-registry-packages"}},"6.8.4":{"name":"roosterjs-editor-api","version":"6.8.4","license":"MIT","_id":"roosterjs-editor-api@6.8.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"b1a85fec62726ac002e4b8c10a676facf51456be","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.8.4.tgz","fileCount":165,"integrity":"sha512-II5cH+hlac7NCtfw5feNYGExEqESUBUXp2buwf6HGnIaWf62+sEB1gZ87LEWB9MZ+m8eBsT+JQCA7vR1/2q77A==","signatures":[{"sig":"MEUCIQCwruTNCyFlc0/0r9fZo1E6UapEVCEzwB22PbonB4p7LQIgCdQY9vLq8/5sTQlYNV6aK0tI3na1bLcgplRUez+8hI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":250248},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.8.4","roosterjs-editor-core":"6.8.4","roosterjs-editor-types":"6.8.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.8.4_1521137723079_0.826565999334852","host":"s3://npm-registry-packages"}},"6.8.5":{"name":"roosterjs-editor-api","version":"6.8.5","license":"MIT","_id":"roosterjs-editor-api@6.8.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"423fe8dbc9619917f78477b12360c8d4f354754a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.8.5.tgz","fileCount":165,"integrity":"sha512-LTJAHF9PwQI/EbXF3oceSk7JmOCm9eQBeIxb3UhfOWtG+bTRB9uUqbGesN/iXB5dYMFn4rBNFVr6wZsZ6Ny3KQ==","signatures":[{"sig":"MEYCIQC1buhO5AOglRJKIj8D5x76ZAVRbkDEVN1Myl1LMY+5DQIhAIuS3xLxTK3SyMBjxPUVBgv6HQ3Q+qxSL6gPV24iONHa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":251736},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.8.5","roosterjs-editor-core":"6.8.5","roosterjs-editor-types":"6.8.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.8.5_1521756130693_0.28222388872374116","host":"s3://npm-registry-packages"}},"6.9.0":{"name":"roosterjs-editor-api","version":"6.9.0","license":"MIT","_id":"roosterjs-editor-api@6.9.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0d82656778895fbbc3107299012409e43faa35bc","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.9.0.tgz","fileCount":165,"integrity":"sha512-aNyu3sndjfqs7oM/kdmrBe/jjb17DrSdPHNm69Ze4oFwAwsn/QuUkLHGBBlB8az/jVEBLKpdpA5sWMrZ8q9ZVg==","signatures":[{"sig":"MEUCIQDaiRaIpRNArhZKtfLtdve0H7DSsN9qnkB6JnXT/CZK/QIgCRp96uI5cZK9l2DKK4waVPin396Biegb087TNA7dcK8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":251736},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.9.0","roosterjs-editor-core":"6.9.0","roosterjs-editor-types":"6.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.9.0_1522385321721_0.995774458844378","host":"s3://npm-registry-packages"}},"6.9.1":{"name":"roosterjs-editor-api","version":"6.9.1","license":"MIT","_id":"roosterjs-editor-api@6.9.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c9a70f13fd5b0611155bc78f824ff17525e9b007","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.9.1.tgz","fileCount":165,"integrity":"sha512-4Aa0UUmcz8q6etDbmM2b+uFn9MC2e+DLXGLpaJrIiSSM531iIWQCUwz31NRaOoeXr/hPFJCz+hbSyTBZxa6O/w==","signatures":[{"sig":"MEQCIE4LxZ6+Vy0sdqcug1wIhYfsVyMBEhT+RG3xS90pV44LAiB99zsJd1xPceNQATdqnztFtiK9D+05VnDaJ9PBtU2mnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252111},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.9.1","roosterjs-editor-core":"6.9.1","roosterjs-editor-types":"6.9.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.9.1_1522793972729_0.7029583484144841","host":"s3://npm-registry-packages"}},"6.9.2":{"name":"roosterjs-editor-api","version":"6.9.2","license":"MIT","_id":"roosterjs-editor-api@6.9.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3d19af0309983c6bc44a8f0956c2aa6ce1be1fbf","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.9.2.tgz","fileCount":165,"integrity":"sha512-rLszFQELZUFyEruWk3klScKN/imCikU3IjZJTEPf5v1RxvyrD6GNd6othvw7cYi+CJrLl4eGSYWANdCtwG9lrQ==","signatures":[{"sig":"MEYCIQCu1t02ue/+cRreHXsisU2Qe7l47UL50Tir/S+dqJqcIwIhAKdeLanUG9EklQqinlO2ByR4dLxL+iGkHYLIX7WtXLoC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":251203},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.9.2","roosterjs-editor-core":"6.9.2","roosterjs-editor-types":"6.9.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.9.2_1522795029677_0.9299359246712913","host":"s3://npm-registry-packages"}},"6.9.3":{"name":"roosterjs-editor-api","version":"6.9.3","license":"MIT","_id":"roosterjs-editor-api@6.9.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c1858070951ce8969d4294d983451b4f8f25368e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.9.3.tgz","fileCount":165,"integrity":"sha512-syyN1y7WD0aIImxXaYs4Pe3Kj/Yqpj1YQ082RM2jHBMLh7mT9SkfVwsrK5JNNiWvtyvXmVmiWPv2Mz9QnLXIPA==","signatures":[{"sig":"MEQCIB1pCvi0slP8c9X/YRUb7FEudu5Aj7rfctTNg5JeclAPAiAD/5Xqr0FkSlRvwbAG68CJd74rVosSAM7D0eFcI5R6tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":251203},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.9.3","roosterjs-editor-core":"6.9.3","roosterjs-editor-types":"6.9.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.9.3_1522949307572_0.8404316979317221","host":"s3://npm-registry-packages"}},"6.9.4":{"name":"roosterjs-editor-api","version":"6.9.4","license":"MIT","_id":"roosterjs-editor-api@6.9.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a4b4e16a9041626ca8313814e9ddf8dfa00cd475","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.9.4.tgz","fileCount":165,"integrity":"sha512-JBkRGKIvnaZcHXLZ05l718QtkrzadNADbVUqQQaHB8g9IePeouwjPbVErbXzIfpHkO4F+m5l/LWgCUfs4LhM2w==","signatures":[{"sig":"MEYCIQCY/zKuvM43JjM/HSBzUlfaD8/d8kscYjm9lRIUnbpzigIhAMIbyL1Ai6XVxLZT9rQgIXoBZpltGFdZSRXvf4rjPwAk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":251167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa16EjCRA9TVsSAnZWagAAiWAP/1NSjWc6qBmv8giIPaQG\nq7MqPU31PX/j4ssJv6GvXlhRf7cWVb4NHTiDUYuHsmhUxMXST6Sie3aBFv5m\nmjopzD05EXBAJaqpIl5iHiH2+iC1QfK3w1+i9iVV0xs9GvCvR70l2EwkkIOz\nhwd8kORw0L00JVgdDfgWFU4awL16eiN7hRZpQTpF76LWSwc9cV4PrvJjctvj\nFuRw283pOCozilgmmjDXsEtX3Kza6Z8Lq7KIbcCMjZ5mKp0J0f5YllRbOFsG\n/XocGbvYMNSe2FEd69PXEceh3lF5SrJdu+rRzcEQZxOjhke29d2lvJGCxI4E\nFCctU+QkS0EdMMdo4rkLz4PoayAgqC0vSPbfoi2DjNJA3aztFvjuY8YuYajm\nnqXbKN4EkItkaKFiPqNgpj/bQz0H8URNT+mE7qud+gBxKKo0EBLRTz+DnNSn\nSjA2n0neLnZe1n8rlT1dhBncZ47cFU0eLvjcrtg2g6wAGdpGgZMuSXFxE0Tm\nPW1152uC+depZ+ulqnsCJplDWqT1eBSOZJ1CXN2ex1pMwR9zZsapbR356f9o\n+ABdJJHL/GPTl1rzjX3gdB/SSqBuh7QI/BfgeGTX1tpfbcGkj2ys+85aIRya\nnCDg6C5a7aeC3fjjL6Y8GFk/ksvYIukRXqY99lmh9yHP7xxt97DAR7vktHWn\nz3gK\r\n=NSeb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.8.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.9.4","roosterjs-editor-core":"6.9.4","roosterjs-editor-types":"6.9.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.9.4_1524080930965_0.09959839579171303","host":"s3://npm-registry-packages"}},"6.9.5":{"name":"roosterjs-editor-api","version":"6.9.5","license":"MIT","_id":"roosterjs-editor-api@6.9.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"92c649fea18f24ddc41741ef4bfdd3522d949695","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.9.5.tgz","fileCount":165,"integrity":"sha512-ilWr8tkFR44eTRr2EAAQ/Whkjgi/j1CyS8NsvvudCC+BCMJdnz744vrveghFPSQNafqNy0N5O50FHKS1mi+Wng==","signatures":[{"sig":"MEYCIQDz44BPmOdTmqBFT/ooaQXwCRmv8JI/07+xj5qJKG2kOAIhAKmSFNm+zcj+BcSXFNkalAKqLh593qjwmt+04f2YzROU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252061,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6kYHCRA9TVsSAnZWagAA6pIQAIgXbwLqrjFmLiCedD/e\naY1Ex0fOUjy9IY9TlbKwqWcn/vrZ/qZRhrCx6c1w0y9gPYyiXAgKJ+zPdzWc\nPftTA/tzbCzQfw79En+VX7FJATMJv2A0phhLwz4nj9GUrynuj90BgGehJKLZ\nX4FHhZk5sNQPYPhv5AUhUrw5D6ofx1xA2PNPGUVLY5Pz3LhQjQUGHrW2rQpr\nQtxWyCYNb28oT/hIUU2vHGlBXG/0xdUPOCs8R6hMwEY9G9uhjqjXcIM8ZoHB\nE0EVfSuZqlQ64ZyM6rtVjBGYRn6Bgmy/buj6X591irq0cziTHr76xo2x4Clk\nKZOMu08o1xiX2YchgcxMOMP9rHn4IT4MuviOR0Ogs0DYaaL4cJaNrEpshCfV\nRKsTu8svomOgtYoz3DP2nzTmAUHO0kaxvyqiHGv+mwdzjzACGqWpQ7z3b04f\npL9dBUQUZxHnmt/QIUDm7lBLvc84A0rA0EXmyOW8WlCWrqpRJzcDq3jtRi35\n3muq2Gxt4ZaIQKtFBam8SQAB/kvAgBRnZzShQd+CXhcPPvrfxqUqqJNon+oP\ndwxP1DIzKPIHrpDEf6aHMJ3C8KTxSeDUwMla/DiUgJg3lLiIR34lXrboG6T6\nUWQByk0FMPLr97nXNkjCv+1sDvJ78VXKoKQL0RS1Q0cYhVGbObjLjm4+qm7m\ndNY/\r\n=hY94\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.8.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.9.5","roosterjs-editor-core":"6.9.5","roosterjs-editor-types":"6.9.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.9.5_1525302790464_0.8684789653743532","host":"s3://npm-registry-packages"}},"6.9.6":{"name":"roosterjs-editor-api","version":"6.9.6","license":"MIT","_id":"roosterjs-editor-api@6.9.6","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"41ffbc552a9a36b008afe804a9bef2c71de4db2b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.9.6.tgz","fileCount":165,"integrity":"sha512-cUDIld1D0od2XFVxqmN95MJBePJT+xQ9bgbSToY+uisAirfg2MZUzI5ovyv8pSyQuVHSkKydlMX+e37o3s0trg==","signatures":[{"sig":"MEUCIGrh4hrODh2YvWg61YjxnNOzgoBjsTItA1MzcEbsn4G1AiEAq304pyFwYe6K4nhUzYtIUnTssLrLOJiNFeSB6fSOeFQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252061,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6+ejCRA9TVsSAnZWagAA5DkP+wb5UkvLzK/Q8zU5FJwS\noE60MW7VdvBbwT+FdHvWID4LLxDseasZMLdrvUVNY2HjZdMd0WwigCaoA3IM\noJTs55JnwHBvlkEMxMMzy5p1rVQwBlLYUNV9Je5yTOC8pST90P1Scybq4JZp\nGLYwH3lIRk07/gr+J0pY+FaO8Cp3uy31+UTqdg+HIecCOEm1u1oJqTLEqPsm\nX0SlKqOwIBh+OuLlGkPwg9ZpSVfPSxh1OXrY+fhMaRJsEETQ/ttsC+fWysBm\nzR9sdzj0XpmCHGG7nkgchs7hvuvGCrqw2W0KZDCXhuk/F3QzWW1kYRxtlrLk\nF77M64hcYR8GzQXi8febvmmh0YjffbYEUf8ycpM1Vnd6YsjTgyiobKcVO4w/\ne6yUgESIsIVXVxtxweS2v4RUi6UA0ovFNDxbtILhqX9lELhiizEB7mRVK+hE\nVPa1sYqFI2kiMUjlUSWhAHXh0rclIOF+tQiXQgsDHP9He5cQRsnAhYL0prev\nihQSQlzraC9IVo3Iq6wpSvW73e8r7/csaTCrsae3HLlgCDGxVbltppIye5r3\nO5nU9QBzS9Y0zKe8NTHIlnWn34Cr1f6WcAP9mLnEAgrKPrYJCTcw9wT4Mb42\nEJ3h47oX0R/ri/+hjOpPjB5iL0CjOUc1JtJ7MB2ekUFmFHzXzwyhiURINjnU\nQj26\r\n=MAMm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.9.6","roosterjs-editor-core":"6.9.6","roosterjs-editor-types":"6.9.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.9.6_1525409698768_0.9076083690769199","host":"s3://npm-registry-packages"}},"6.9.7":{"name":"roosterjs-editor-api","version":"6.9.7","license":"MIT","_id":"roosterjs-editor-api@6.9.7","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"cb84b7cda46f3ced39dc1d58bd523d648a3f2d7f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.9.7.tgz","fileCount":165,"integrity":"sha512-EQBUuOaVzAaftfdm9HkzAo1DGXT/8vnHD8aJHCLN7YujK8zPEhRpgc881KFJHEAAgxnyvU5UeLuRfTHgTuMf+w==","signatures":[{"sig":"MEUCIQDJ5ELDaTU93bDsF4YzqUEMadeOMn5IAQ9rhFn+FOdSxAIgDsTqq0CjlpcEi55gJDGo4BU6cJOlDAhh3Um0YAe108A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252061,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7K2ICRA9TVsSAnZWagAA5nEQAJ2oUCpRdbL4fEbweLjL\nHgPVTzt72Ni3UzOc0jRG2DbXlDhRELurEia/DQy54qSTpiMySlxO7i43Iz3S\nKN8pH43Pe6AM38ddD2Sn4nJrJWNYAsLhyJ9f+ZxFuCFEzkWmoHgM4Ftak/3U\n+UoViuEIOGZe0SQEO2TxiIms/ISwW1yHVVX+iuzT8UhOqsDtkjsYjIwg/Cmw\nHXKxI7fnwVcG2e8qV02FjQD2kosS4Bm1smeIUhcAaZOrZmWrLWOPzs2fqmX5\nSVNKcpOsm/8HOU/qfUi3mV0xpop8k6e7O1pNUCVFgQQ2lX3Bzd4CANFxhL8N\nXsQWk+Q9Ns5DI8ZyQP43klCqDED4JrI0oSL5RCCS4GThjgYVIdLUCALPkot4\n6qu143U326ADIXkPdoZwLjpGoR1m4zPxQoCiN9qA2GSJlDCShZ5bwWOMrA+K\nCye3muiBQc6P7utPaDadBfgGOVx1O6BTLFPESprYul9V5T65JJWOXWl0KpEq\n2S6hvc0nDoHTnLBTEl+IUBPHZzrXU6U9zdKywKPk2KQ+ZNIfmLunD7U8fKwQ\nW5eXoD6BbJ0gVIjHyDYEFJtNQC+kIegUbrrgdgASbt6W37hXWyWD7fWRIHeZ\nkqMQbxMzJEaBFy9TyuxOvGx0126qgUdZcOrHtUVJmfconFTUmYLxsvnmKm3m\nS86D\r\n=3Yi8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.8.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.9.7","roosterjs-editor-core":"6.9.7","roosterjs-editor-types":"6.9.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.9.7_1525460359951_0.6415380290002386","host":"s3://npm-registry-packages"}},"6.10.0":{"name":"roosterjs-editor-api","version":"6.10.0","license":"MIT","_id":"roosterjs-editor-api@6.10.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"00f2f44363104e8611423879e890dd11285a2daa","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.0.tgz","fileCount":165,"integrity":"sha512-IIhoC7Roge4zw5rWrReV8YiMzbe1otACR7ApD2UIxyS/hxiU9FnQPhSrQKNfUgPdvkajYOxITRn3ysco6I4Q+Q==","signatures":[{"sig":"MEUCIQClM57LF3P15MEHIsmWsGpjazTUqS57tffG7l7HxYpdVQIgHKoKGPs3SqvGc6LWHRxXaJxAVhDlV3gWcoKA11AnYGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7NFUCRA9TVsSAnZWagAAztMQAKNZtc6UOi0Z/sQJJn6D\ntrU4BTpB8QG+shqstrEsw/r58x9t0Vd4x6+yqy+jOaSC/0X+mWiMbx4/uVPF\n40xbBDlVWPBSWowDKgR5L6plQNa4AaN8w35YFbWIa4qGjOZkfxMePTUXHICK\ntDPYO63Qq2uJFHrh82QcnddSit+s9zKRy/E1iRF6g/e+KdAl8wQe7eVRLRxu\n8XiXGSKmy78GMUfNx6zJpVJqvP6X5I884/GpaE+7vH135ewCdSMKC2JSZKfS\nwLZQUR8srW90DR/u2kYUHwuYJcGgX58Wu0ogKTYATdONflE1dinVhmYTk1F3\nj1XHfnLcXwJkeq/uEFmNOzyHYUu1t/BU6HMLZf++SEnrlkI3BWbAcwHaoUUz\n+51IW/dbDbkc4uvRcBoX0IgqJzirOOk8Bzedhn339Q7EV5dWCNP+JxotUdGX\nENrBvzvZvOoJQyc3+xB84cxhgzpinMW707kw5VlM1Yx8u7P3sm7uztsEvhOd\n/JE50PnLB4MMedloel6KyOokQ9E668jqQbY01cjg7FYCYvx46AAbLPDmaK7S\nz0nhn1IzB5Zbf0YPJ/tPC3H6/7EHhQPH1kdPiPYAyrQuslEnaKHCIeVKw/40\nls0YPVRV8fEyQQHVOKbnNa2Y6O2DtSf7AACOk9vcqUB9QpMyKCPFml+dzfMN\n7RZV\r\n=DdQJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.8.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.0","roosterjs-editor-core":"6.10.0","roosterjs-editor-types":"6.10.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.0_1525469524475_0.6875943215513438","host":"s3://npm-registry-packages"}},"6.10.1":{"name":"roosterjs-editor-api","version":"6.10.1","license":"MIT","_id":"roosterjs-editor-api@6.10.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bed24a2e878d57fbdd5bd288380688e6243102ba","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.1.tgz","fileCount":165,"integrity":"sha512-4TMe/GN0qWRz/kPVX6bWb0EB8yjdrgy4E80POMMkb+xF3ohawC4TqNjKRZSDpvvJ4F+UBMjTGOsUcECwNrS1vQ==","signatures":[{"sig":"MEQCIGrqWYU4P4XXp4nmZrlUQPkFeaIyqeeFSnyDY3NhuUgRAiAr+JiwBrTu0aQ6lgzfYrqPwUYXoX3gjmISjQiybx/U0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa71+zCRA9TVsSAnZWagAAaWsP/Ax5nqXs67s2wKLIaUv7\nW0LhO7X1xVdyen7kOR5IQDN62F8DBG3fcNdC6j6zjor6AnvPGk0QfnXgVQjP\n+6ZQWOz9K/hCW36t0ydP8yrozy+9MB6w7iM6xA0cCzpsUjQBJkO0G1Gc3Au/\nYGwuQjO1LNU8+asa5cHrD7x+CKaqLHgP54HOA3pzm7DpacVyAYGOTpos7pxo\nxcImsLQe7ne6cFVrsSJvk5XiEqTmBIODU94IYhYdr45zyL1aI1VPj1pu+q7R\nWDySeml9oaRBh2PgKITDnNk8lavIYxirS5/d79QEdckZj1wLlXLtz5m7qY1Q\npr6zMq1gPa2If6MUyN3tjFIv6Mbuug/Hl27XsmyLjvRGdcr2LVZ1eINy+sK8\ncMo/ua+ZRrfeMvjhAL1h2xayS1uWWcnF5BB2lnBerzm0rDqU0bqhB3Wsh2LY\nSNvrcWlky1a96O0iZYGG5+EgX5k1QBw2A6PhfTYDjXIXdkGyEleBe0Gsyuq8\nTLxrZdpfH/i1aRJU+7qSTY6bo3Wgh7acIQ45xn+a2pYIelKM+ZvOv0paiZp6\nkv+OWhpVmq79bC7yVn7083LRFKcPdvM1DEShMocTnZRedh/l3yM4090gHd2g\noYArG/LDlZBaocgHg1w5naME6SjpYm2/FT/lkMFCkIx0rj2P7Psdq9QDR2n4\nhy3k\r\n=BKiT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.10.1","roosterjs-editor-core":"6.10.1","roosterjs-editor-types":"6.10.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.1_1525637041948_0.845919886357823","host":"s3://npm-registry-packages"}},"6.10.2":{"name":"roosterjs-editor-api","version":"6.10.2","license":"MIT","_id":"roosterjs-editor-api@6.10.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"352bd36a120ba4f71d29678b12703c3282fd2ea7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.2.tgz","fileCount":165,"integrity":"sha512-lU8WKpN85lGyAkycZnbQLUAGy1+sSl97uTH4dfVPWtr4IWEJEQwV/LgWc07k9dpI33TEpr1iUwTeblJfgVjs9A==","signatures":[{"sig":"MEYCIQCQCmrUvKK74+aMlSxMGktAS76MSs6nBlF4pUc+DAqMbQIhALGxHp+7cvkCwW7mUuVjC4x6pv7dAgjVe88x/jzlhjVA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":254516,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa98NjCRA9TVsSAnZWagAAzRIP/R6ilIgHvOPLbqQnt7MQ\nFUw0MbCOIewg6OzT381Uf4sk35r4k9KZqdGv7KDR3lSIHeOJQ+34h0bA6Dl0\nYrW9RRvJMVh5XNf1i3iJzYqsYLLWw4amIrYRbF3+/4Fb1AXdgRkG7TSj1wg0\nysVpcZF1DUEe5Tsws1Ld8CWcR5WXcdMVbJTJ4uBm+2Lhmd23/UCAS0GxTM45\naDwXori8erj87hCb/rAhIcjH2yv123W0q081TjwiPWDcBllct8hHLdnnSj3x\n9c6BknmTR0l7VWTV8ydgRa6oc/T9sdwiY6+9HMsYK+bbrufu18pBFq6M6RpU\nfUYQbgkJj2UuUzkoRG5BVcsdt+74XZHIFATOjVd/7YnA5YSPJCEhnyrNm7b1\nzcW9tj8Kd92uA2B1wcsX/aEiRnEtiQS8T3vITOGlPaReVV2WfRJ5e+FBRaiV\nOO2GdrblhwBZo+Xp4U+93Q0/GGQ/Z9Jfq/j5lbIOCsZ1R2BnbE3Qak7GjHop\nkQhZk04lbua8VTL6wE4qTDs2fgWiUTw3G3dSZgyC7xQVEmSPDbEP3rPNECwu\nuq8Lnk5W+E8XqpYrPX8zBpMLJmiatdhMzCeKzXTMfoC8HwZ2DfFQQ20qwm15\nIKFZWHu0N9YDHVZwiVuWL8GkdOr1EmiUNxdpDNPF0KuZLdkP2iLbIXcmE45V\n26iO\r\n=A3fq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.10.2","roosterjs-editor-core":"6.10.2","roosterjs-editor-types":"6.10.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.2_1526186850637_0.21420913913390272","host":"s3://npm-registry-packages"}},"6.10.3":{"name":"roosterjs-editor-api","version":"6.10.3","license":"MIT","_id":"roosterjs-editor-api@6.10.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3eae9f9a2d1c018f695d98b3c23b1d941460bde4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.3.tgz","fileCount":165,"integrity":"sha512-utMqguVsIZZDL0ldThZZAE3nSonXg2FMxCXJu4VbjgTvwVesPxqzcpNXT2jdupErPnPo99sEkgyrvbZoANcSJg==","signatures":[{"sig":"MEUCIDZrPEt3V+kJruXE7U8HZyWdIS9dT+ISudpWiMYQ5KtaAiEA4d18iyQM0KzBXLkDI4LYmnQD2sMl44Ur6KidREZOI3E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":254560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+cdaCRA9TVsSAnZWagAA/hUP+QGrA4isorh25OFex9s2\nlIHUlt7XLLCuUmOYAutU6TYwJr6mTx0w+folLBp98OSXRpBlx8LlFiu36/L4\nyJTmN5tXgIHCoYaSqHGL1sraPRxNHgVGKItkAA4sa7VnnE8drh7r6KKS5EsV\n/DU27l8zpRceIMFobOEUCKyYu+Kxey1V0uyZ7O3eP4dWLkswnL3mqXd4MRP7\nkjCfi13vPuAoa41bCK1+5aqWGWQycxmRrDW/pXMySRXYDB32pKRxoFi+I2WS\nSbVDJilbLIocaI2/sqs7mlVQbn/GOEIwQnxlreDSv6cEWX7iOVdyrQ1bh5UO\nRZq2+9ipFL+iwKf5W8yc0jlJI046vVBArhx/xviVEowhMhuXKmhXjQnq0dPC\nsX43GBcE/h/hLA8SxZEYh68R97HqJVqxfD3/s/f3eekxH+saaNl33ivOxxUy\n5oOr3FyRRsAV84V7EYSb5MegQfiDQ5KgfFYmXVIuv2AcekEQm3wkYwnG4qp5\niuGyLkmCtish8cp8YlQwgevI9056FR34nGgn2Z88KB8BmvVr+AiZ4AD4TZR+\n+UmbVPterl4aZanSHOWaJjEmW2VRxKBxjG905ZyDThu93+jhISueNUOgCWFC\ndu6RCNUUtpJRiSRl5wv+5UEqGP69VguwMV7Uaagu4i8ahBrZwpne41aSGsxo\nhkqa\r\n=cUbR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.0.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.3","roosterjs-editor-core":"6.10.3","roosterjs-editor-types":"6.10.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.3_1526318938097_0.43470786505917913","host":"s3://npm-registry-packages"}},"6.10.4":{"name":"roosterjs-editor-api","version":"6.10.4","license":"MIT","_id":"roosterjs-editor-api@6.10.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0be2cdd4b7d46df20cc72903957657b555a40046","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.4.tgz","fileCount":165,"integrity":"sha512-/Iy73XK2+81/MYS3czXNgS3bBTP7GG9k8At3JC00S3ul+FQ5asgizFDI4k2tGLN2lfXBsi3nqS1Hq+gcPmG8NQ==","signatures":[{"sig":"MEQCIBUcHfTfo3Rkc0GyIkyYwNIh7hAw3AL52mtdb/viA20OAiAddfZn9gyRnayZQI7hmLJddjPnqswrVjIyKgBLQeHv/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":256218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/KrbCRA9TVsSAnZWagAAWiYP/RKJIekpfnhnIICCTmZW\ncCQag7ZldLmKZJW5WvZiqiqZA8URsaPshxRNe8ICa910qGlpAvDfRvh3szsH\nx1AHfrKIuln7xspOj+5MiSif+B1qVSWr9XTLj6goe4THPDVklZeM070n1gYr\nBXDAolK4ZEYzIz/0uxEXQmXI7Ww56VYLMXQYQC650PatGHhHgCwqRzuDkYjI\nNe8Q6FtwMpOlkfWbO0cy+Cp5FSR0Oc6sVrrTUZcNoJc4/M61rfximXJ6vzF7\nKfUpA7lj0SPyG2s2yG3oJNi1u8Cc3OmYlz2W0TY/6UkJtvRzOiNz6S5OrYOO\n74FYrAZ29HuOVf/NLewI1+Zbg8rrEUD10hCl+vvpiO941U7xnAruD4oqpSLQ\n69Z9Ls4weqOffuVpwUqAJNxd2PFTuspc6IeXecLtqrDDyjwjOoazicC5toU5\n0l3Rp7D/sui5ypGgXHRgOCZUyNpR+XUC8FmDJiPLWJbkOYOBtLquXf1AoQ35\nwwsX7Ayg5IQfIhlQ6aSFkJM3olj5wp/PsCXXjndWaq+NJMWeEovETlf7i+fw\nlyJxavcqIolYYX1Q9gEIlUJZhkEMUDlBoyoOOgR2Kah9HQY+NQzA2i2zdAWK\nF3QqU+hSR2YOQdpcenfywwwPdPoUomwYANZ0EgC+zlmwVh/KBAGsuWJF1k4S\nOmaN\r\n=3fwB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.0.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.4","roosterjs-editor-core":"6.10.4","roosterjs-editor-types":"6.10.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.4_1526508251609_0.2971507927404813","host":"s3://npm-registry-packages"}},"6.10.5":{"name":"roosterjs-editor-api","version":"6.10.5","license":"MIT","_id":"roosterjs-editor-api@6.10.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"09a1f759144d495701ca2efa5ca978bc5de32eb6","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.5.tgz","fileCount":165,"integrity":"sha512-WVAKPo7i2pOTydlXyqnfl6VacNXO0p0n3Vl7BAlqysYsHU3PiCzTQ8RrmZmrbT7nddQnM8KAxfnoAZ3//b3T7g==","signatures":[{"sig":"MEYCIQCTjuQMReYrjglI6hIbcq5yCsvkcgZgmGVXBHCsRwvGMAIhANLLQTufe60L0ajmFRNHSqe77NLvXG+oHBTpzkJKoLbP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":257366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/fQECRA9TVsSAnZWagAAmAwP/iPC+mX28WmusVq8wDeA\nbueHVK6oY3WIqtSsSjHZXKF/Xo5ZFazhyAzegRT9kSe5STqmVYz9QOIxINXd\nPNVOK7t+jEK2LnmmuLnaSHgG8jRtw0j38fyKBMhZtEKKr4Ig3qjnLTR/xY8w\nYh73N+z1BvhoCDXMTYXxz1zcWJNMU327cX74qYN1W9wZjlpItYmD2nsZuKBF\n4tnxmITn68w0oZvoOGm9l6yKivoXbsG4+LEXn+ekiqipEh68VtUnKmVQv7YD\nZ/1S3minQ5NEhxhnnpQETALe1SjY/eQmObmj4hCl6PGjnKsSIhKw2hu9iZ5T\nB8G4k14fH0Qz7LEz0ppbuHXsqzCQIpenqLjB0LaYXbBB9MgazbqFCIwZxdZG\nooJ4AjfX1Xb0wMlHUetDJpy9HCfYCDK/AYG7hPG3B/8DWu9ySbTn86f9OyKG\nrY3gSpJa6f7QEZZWiI3tfbmmpFbtKriF3UzSYie5uqnpqdmCVPwrZ0XN2VkB\npTMOMg97PQN3NOT0a0DhMZWlV2MA7amqVppDta30B4DI3dSnrZfLl1SSC025\n36PhwSPTdUCzOY0ylKvRsge5R3hf6ZsIAPVcNvr/qJuWdTxgI+2gyxZHy34I\nseA+wx49KcSVLMuFaIyDNzb6A/Qq+7ZY7tfwQdGkV24nRjbSXwYVefmWOV2V\n8tji\r\n=b+qu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.0.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.5","roosterjs-editor-core":"6.10.5","roosterjs-editor-types":"6.10.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.5_1526592515665_0.33790048655810967","host":"s3://npm-registry-packages"}},"6.10.6":{"name":"roosterjs-editor-api","version":"6.10.6","license":"MIT","_id":"roosterjs-editor-api@6.10.6","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e417b7527a94ea5ac868c0ef105136b45ed9d314","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.6.tgz","fileCount":165,"integrity":"sha512-KxeOkOw/BW2602fJW/DzHwWu5Os4QwdUw9GosEsmfhAgsVexbwCVy4gsYzjFWAmSGSdwbrBd+35I6fW52TSOjA==","signatures":[{"sig":"MEUCIGPe8/y8ZkTlsXff5rJW5VWa9BaRXIyk25IZlwkh4vxxAiEAk5bq+rK2pMvxrqQcPLu0AKkE3i3/Q78GN88ie/h8r3E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":257366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbASCrCRA9TVsSAnZWagAAv94P/0M+CyzzoJ33zYcEvJZE\n+3pA7UIlPJiXXDN75ezGpguDg/w6InIN7kQiEtByj/oAAo2unJVp6+FcwTag\nFGuTQbB9R0aSDOP51a4bvqDMjuo51ki6FBEw24V9aZKrm8orUtwOChi+VNQ6\n3RUxCiEt6iherVBKhocZafNezpTL+JOK2BRbm65KRgbnyw//Cn5pw8bLqRG/\nMYjKsgUpkTzPVrSanRPw6de0hNhbM8kg6/uBIrzMJczDppzqDMKhMN5PoF+K\nb0qme+l9rW+wyMyIDv4cWd4xsPEs4PXBLlPfsKJlRDzkg7BVKmvNGp4w1/tV\n2kav0NbwJsbs3nnEZHwiySqVvKuSDrzODiku3B2yZpOkq6wrhQSgfEUA8OMH\n2m6srBzYgYakDCb6VMJoWmsXXTWAOmLisRvstoGDbqLuU6x/meR0BBPfRGZr\nMlmIGWasTjuq1PTXkaROSHMjo+rdpWdoy+qUzVW5FBZTLxi3w0jV3XJbEyBA\nEo0irGk8zImZetuzO1Grm+PuxvsAugOkgkqKJ1I8DcZzZ8mLJy4GS6AF5GOy\nT+k+FVeve9/KEmk+G/SQmM+/iXyBUOLRfk3/r+53mzwmeBbl1K2ttiAOItl4\nVHkRU5PNuinzbhZthHcMRlGA112ITG1jSJOFi57IgufQC/VaZa9jC/ioq6Sl\nUZRX\r\n=GeGQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.10.6","roosterjs-editor-core":"6.10.6","roosterjs-editor-types":"6.10.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.6_1526800554677_0.29528635849939255","host":"s3://npm-registry-packages"}},"6.10.7":{"name":"roosterjs-editor-api","version":"6.10.7","license":"MIT","_id":"roosterjs-editor-api@6.10.7","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4ad210e45f29ca677959aba34849b1712519d4c0","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.7.tgz","fileCount":165,"integrity":"sha512-A8OdJUszyFpglu3dciqsrTyIgJb7EfKLX9j7gp3HsWsw6dVIsAz6oPT9iu1auarSMOQsYYkdH2xA3QvGw/ZPnQ==","signatures":[{"sig":"MEYCIQCXMJwX4y34mv6hRw0iPHGzqnHC+ymOPZM3HMOfgoV7CwIhAOaRifHjge7OzIbhrK2t3Ssp8KfjxD7uV7Eo63J3oJPk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":257747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbBcnICRA9TVsSAnZWagAAJ3UP/1+d+g5Juzt12u+8Ra7e\n6CS/AlW7GNWiePOfa7WAafV/7t7WU5zoPHYPq399Jo2WW13FKyJjo+EchogJ\nKHtIhlM4MAIP3RhTuQiRQuxzGrAlCoWehi4uFWHhBNfdZO7kE07jBdhrLrT9\nji91INIvztBtB5fY+niidRqRiNoaOGP7ta5Yk7jH5XXlp7S3JKiaBn4HNhKk\nJJsvGM+9ANziUqGnQ20LsqKd0aBV9nOU2tXPYNAR6SzhRMJLpsrGOkdygRyD\n9ZF6AAh6AYlXq2Mz8XgVtJ2zH3UCic6mRmL0L4RweSm2rMukNNgVXlph/s9Z\nlMFTn1/SdVzS4z/qQrEKJ7ZtRPuXo6/heDNBx3EV2FKlFjRdS3uWMJLEMKCB\nidjlfkuLvkfJgd94sFmyyvK/0n2keNFMG7xwal02f+VcJn2NKdnnz9Fl3PjY\nj0ZJ0nizyA/64Bpy8PBW9Xlwcq5udJBAZZq0+bNz3tTir1dgQLS1vSWDkykS\n+IVHmfxo83Di/1I3VwgQI/QQaS59eU8oBpRG5v9w9t3eARPlnnxFGTotYlE6\nm46hrHDXYs3tQ0OByDLCeRywrD8xuE4LgIkM7uKmKoJPNj7GH+g9eymJZLQy\nQDb4PlPru0l1fyQckWUF7WsjCUtdrKOiFkMvVDMk+y0s9BGKdVR7D1DopXN8\nmW6i\r\n=ugjF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.0.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.7","roosterjs-editor-core":"6.10.7","roosterjs-editor-types":"6.10.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.7_1527105991426_0.04396619743954644","host":"s3://npm-registry-packages"}},"6.10.8":{"name":"roosterjs-editor-api","version":"6.10.8","license":"MIT","_id":"roosterjs-editor-api@6.10.8","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f13d16e2c190b4b7362ff4076cab7225b66baf69","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.8.tgz","fileCount":165,"integrity":"sha512-JBXDnwZc7eoLzZllR0zGgTSwdS/cbYhibDXqVRRHort7eFKy2lHdRC2CIolR2wnu8iyKHGd1iALyfrcdDoqHIg==","signatures":[{"sig":"MEUCIQDIqrwscKsbQAUSDv7/hwC0ruI6lipMmLSzk5MFGd87lQIgdG57DnVHVOn1b8JevadpikoTe3Cug1ZAg1WkBictSRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":257747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDyjpCRA9TVsSAnZWagAAR9UP/j2HIuZvaQmAdm9xNlH5\nIF+uN0YXSgHFNrsspuL8SJ3LJIc96z/qWZNmDMhuoGRDs4Xp+epznICQGofk\nplyva50EwnNm2KYCKAf4V1efqAnS2ZBRP+PlzQ7ku1uWwIJR91GfxgSOntGq\nIggqEOeI5DuEFCW2CNGMlTB9X0gOxnKR3KFwWdhayvzCMI4ZuMS+SAZsIxaS\n5bf40GhlNKxBn91ntcVfjH3LHOB1NV7yghte0Rqxcmr7ad9bkgCLmWFjZWSN\n8bdETYv7mbSmjWtfvohkNBPvSaIe8ODRG51CLYKhM/BFu84xsO9Fr0hE8Wk8\nX11q29qeGEBPk+AL2Leszy/V538kVVv6C7gTXYdJIjpIE90l6k6UY7lqFdns\nGxGSEfNIcaLfK2Jj+1XFSzjCufl/3dWX8UZbjDJDw9nrVm3G+pvYQSfZ+hMN\nWy5fPBgvOgblsnVK4k/kpA5Kz559kkYO/F7/n6IdpbcsQQ8tPSzuYQ3+LwQ1\nOxSKvGEz1SBdrBi2JpfeZIhzM9SLPu1lPxMjF/efATcgs11uShJMFMeOsend\nkCx1wWxYXuTJgsxyreCoO5OXQnakSfpy3FLv1IaSMFHutE9SFawQgHCvK1H2\n2E+zuTRsc7z15t61nGLUEmJe753Pv7X4PR1fV1x9R+pxtFxlXsu9PWK5jjC7\nxiKJ\r\n=ZTSV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.8","roosterjs-editor-core":"6.10.8","roosterjs-editor-types":"6.10.8"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.8_1527720168750_0.037350251393545975","host":"s3://npm-registry-packages"}},"6.10.9":{"name":"roosterjs-editor-api","version":"6.10.9","license":"MIT","_id":"roosterjs-editor-api@6.10.9","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"77d4ac46da28d8302a513b9b98c940959cc4c54d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.9.tgz","fileCount":159,"integrity":"sha512-pL2u/SwBLk1jnp1f6xnU9VuoWoGBfRNaooqIlJLH/j+YN7CBDSC3rEP5Xt76x6PQhUZxl+qaY076Y8srMyNRWg==","signatures":[{"sig":"MEUCIQDQEoxhnzsr89ncpVbAnDsqB1lBHf68+HiRxDumsoGLUgIgExzXINkU9QwwtNvZgQuDnQGrS6ioVUJU1vV92VaxJgM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":234968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbEO5ACRA9TVsSAnZWagAA9RAP/0/INtDbF0s2JNMj+j7E\nQgq+GmZfBnZFZpykZ0UN4OxozhgBr3kewpENME0LdaEGCjFcCQMkrEeD3lw+\nrkNFwtY78GDHZ9i3tC3032mvG90kI+DkiQfRF+zD25N9JGhbCbC05wuAqBqN\nkhKYGrZw89rq6tsNZYVS/3D+FfraZxKOsqBPB9YKMKmFqcFVgxXDxhVD4RKN\nr56W1Lrp5H1T+QU6lnRyBFpoqigRFA2/mZxhPjFGWmry8aXFy5Gbk21baEAh\nMTsYElFxtSyO6SqoGFd/FVSy4VLHMSKmu/SxAteR3wwwflcuayN7iysOmSbO\navG3QtWXH+8lohxhNwMPLNgY2o9Jg/zu4yTKqR5AvWpE+ruIx4I9gqToHbCF\nuhnYVZq+5E7W54LutcALjamWEEybrtNDDKMt7dzumPhJ1PNSFdmWOoVWw8hZ\nbRrmNL4fVDz4YSIgUz4VOyi71L5sj8/o0uYaXbAo82TCCns+iymw4o6XgWbo\n6LtjWF3a4OEgQFtyFFslC3EoXzSIoZCxR4RKPR5EWiyrlaQD83KrN1yJqFDk\nI0xVUFw5XuJ2tbjWBXp16DXaI0k9ScurLfApi+B2kiYDKl4Wwdfl9y7N5N+X\nX4giZPHxbNCV4gKnkN6kiEtMsT7cJ6tks644lDbzx9pb8mKgaqReb/zRI3E4\nrS2Y\r\n=/b1Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.10.9","roosterjs-editor-core":"6.10.9","roosterjs-editor-types":"6.10.9"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.9_1527836224409_0.3403530199506626","host":"s3://npm-registry-packages"}},"6.10.10":{"name":"roosterjs-editor-api","version":"6.10.10","license":"MIT","_id":"roosterjs-editor-api@6.10.10","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"231532154cf7997017bd5084aac7a1ef83613045","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.10.tgz","fileCount":159,"integrity":"sha512-3A2lBKdnbmvGWg3jOFtGNuSaZ3Hbc9kHMn8ge9SuAWEHrtDr1wmlU/0N48zyE+WffN9xFrrZe1KMV8GHLefIKw==","signatures":[{"sig":"MEYCIQDTE3MnJ8amnTksZyfamQb+saEgMSeOLUSb3V3mgWPvBQIhAJYDrex2q0a5P25HRDuMTrscQK2ETHYM/Ru4pB0FR3Ba","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":234849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFaZhCRA9TVsSAnZWagAA9UsP/2Gk5SvWqBBfGDqfIose\nvhw1Z6d6QwP/5cXgK4AFKEJGpohKMhvzVyZhS5HyfuwO7hPUahwVMGa7KsHh\n/z/50fMvaa/AXF8QcE/n8I435d80zhhXt829S0iJjGWu9ukuQ/gBfYy1fXQ+\nBwptdnP//23f8pxauWjM/UaZ9AMVWa5/NlM7xGbxnEoLLgWpjXwz1pyh7fV6\nkY5z4i+4U74a2HXB+wzmYlhgw8mrdbCPMoG9At0M8de8PntyvzuSfmIPPWk+\nYOxZxQoSmMHL0yeCOEAxQkzIvAKSWaecx9If4GQ9mX2B9shPipl3gB8+RI7g\nyYjsKo0Vs2yeGzX7AQh/uuntn7niiU7XzVxJy8+QCR1MvGe6m9g1Tepwc1Vx\nZ0UOdqE3Q7AxpV1iZ8Wd6MUeoOODyslDKXJXKs7rtWfn+Lq3zdzPr9csKKRp\nHcdxAGUlGG4A9a4p5XmLVE1FKXFml9YPRkDTZtao2P7f1TCky75mvPDSm3g0\ngJ9dVIHzD92Vdxlcr75MM+Ddsh9a6IQkDvgf1/vmlsVuQnEqqwQkSnAFc613\n8iRFU5L1TFeolWEBQLciWIQpXTxxGwjAUliPbVjyBCguPKj4numzkeUWYKas\nc2P5/LbkOgkcn9Rxzo/AAN9lM9SRMYlniLL9oGPBQ9oH6o7WWxpUFnB2Fews\nkzXq\r\n=PpIL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.10","roosterjs-editor-core":"6.10.10","roosterjs-editor-types":"6.10.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.10_1528145504813_0.1717029642769461","host":"s3://npm-registry-packages"}},"6.10.11":{"name":"roosterjs-editor-api","version":"6.10.11","license":"MIT","_id":"roosterjs-editor-api@6.10.11","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3bf9f87fc3595fb197ba54c40aa75a0c9c312361","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.11.tgz","fileCount":159,"integrity":"sha512-lToKz+IwYpKUWIkQC+BSA1f8lq+heriKq+QCMNV107JvRxwIfPzgtMtg00X4I8AQ2EFHCwZ1mR9zDO0ognGHvA==","signatures":[{"sig":"MEUCIA6rr3PAEFSG7dsK/VWEutpkSjGc59zddnoW4LddDlaRAiEAgNZlmsmF1x8/oXm8cnBJf2itcxYQXpnvIAkHAbl36x0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGX+jCRA9TVsSAnZWagAA/hwP/A/P5//UePSYWzLv42Tc\ngRtfT75ARrbjjRpGQkIZmGAevVWwLo4eI+rJagZUYwYWIxv6H3EWoivIT7rm\nXS0yh2YBmn0FjlvYpl1KSUz55mmjjAFiTWgUBLf3S8YJKUeIRi2FxOZjaNK1\n4zU57r1KxJjnA0kvMHCuyjrI1lCfrAdHV1o5/ElnIdJSysgQjmcY5RHqJt3G\nFx17Ik/FwXjQFonmhyLU38Gggv4oqha/rzEJ3Y0y5gGwMtavQXuPvA2Zu0aC\nSAPkYpkkmjOcV56uTOEabO+IRN3REF+eMSLjlbnVRL4FERT7ckDcJuBz8i+5\nCshfae6DD5tGjJsjU+Ls6VV/OUAv43+xmaDd/xxz6Q/BjsWtvD7yZ1+0Koou\nBsLkmnKbIrOh7l5pCbgtOBltrB+pTGQf6XI0SSgbW5RilLsGPhCqgLHNwXFb\n0XSznk2If2zdbTPJtOjo/c0UBfUQvsnuDBdXX1qjLUcz3WuOkdEz3uU0rii/\nTflNqTlft/EFjxiPqWvYd2hNgm5vl6kHYCA4E8Ygrpxh7P6KsEJloQeHfrR7\n8J0HS48qZvGeJUAiU4NzSb02J+YHUlCi49V3B46koQ//SwyUtg/wbmjhMGoA\nEkKBCCVjdlTZR1jfeM0V28mDfBMZJdI4ZDhAeSxUFdCyvWXpqh895kFG33R/\nsJjK\r\n=wwmM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.11","roosterjs-editor-core":"6.10.11","roosterjs-editor-types":"6.10.11"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.11_1528397730556_0.955993710332977","host":"s3://npm-registry-packages"}},"6.10.12":{"name":"roosterjs-editor-api","version":"6.10.12","license":"MIT","_id":"roosterjs-editor-api@6.10.12","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"2c3045b3d06a86be71bd3947ee399247f30ec896","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.12.tgz","fileCount":159,"integrity":"sha512-IcknwzpYub+89GmPrAsanTMnlCHbPcJbj3IwDf1q5FmMGaJ7Azo+mbhVxdsKU2YdK4TSatVQEatSjhevGREmHQ==","signatures":[{"sig":"MEUCIQCUCp3Z6FoiK4gi6NRmt9XYzUfRXI+Zs+jnRSHFp7d+BgIgLkLMGdYZV/B5MuuM1HsHU4GjrpZrPLOFXlRl4WfPx04=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGZ0iCRA9TVsSAnZWagAAtg0P/Amkkd3qKDoGRLXeRAkh\nX+obfw0nAMV1HZhMPIqeiaPS6OgMciZdbbeiCognvKMEdLFjtPK/8ehcFcR6\nS7Jmu2+s6PUs5F50ovc1roEGJ6q/mmPsEUP1z1vXPr7Y+OlqZmbpBTZ26oJC\nwJNmVR3lO/vJm5clPZIbxd20jeg9oSkyddg94hfQM3srAsZhWDEhjhMrxBjR\nD5KCIAUjVvfeWN4WC5NI9Cdw2bB8zD69SmNkTsc6lr0w4g5wFYyAOd4KOdeK\nNRHm6DQs6R/AIiu7ogAu3pksCYWcQ22JQM1Isa+ghoyiqSzwtZHAbeBpVDer\nafep4KWuptCj4W1koTdSntj42jbNPoHX9NA+wzN4ZwZeOguuJy8w9r760KLI\npaJFwGL0R8S/uLgD79PeJYpAF+BbDe37L+EzDoD7xARRF1GflSRZNfOOa7uI\n28yvlTSl9NJTdzqGkNN2SZWtYkd661KLRTGC+QpHRdTXYUW7YVG+2s+jyn1H\nvwpR68yLVaPDa97glPwkBzrJCoZxkLKrNnNWe8XeAafytmN0QEs0RHPQAAnl\nQYxFNqi01NZU5EkhYYV7SKj9ccHKZxY8ILY/EJNHIzqAkMa5k6sHdk2Lo61P\nx4aK388d9e4q0kwg2YIxK0whDhADpXRGTc0nkOuj/d3KjFtDu2Sog2nquYEp\nXPM2\r\n=wcQJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.12","roosterjs-editor-core":"6.10.12","roosterjs-editor-types":"6.10.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.12_1528405282420_0.3339382873447878","host":"s3://npm-registry-packages"}},"6.10.13":{"name":"roosterjs-editor-api","version":"6.10.13","license":"MIT","_id":"roosterjs-editor-api@6.10.13","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c28efd134e77387ee64ed8a0b99da8f18802d8f2","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.10.13.tgz","fileCount":159,"integrity":"sha512-9eiYgjD4sh5mV4PjkDV/HtbihRot15tK7GRDFHIlbyzomWA740XIZqfPVJKYFzASr3czboxblQhQSlMc7qLoGw==","signatures":[{"sig":"MEQCIGMgg2aQKQx+e2RbzI/laIXbcUO65PCzaM/Dv0w+CKa7AiA11lv43cK07bW5BUNZHovx7aMSZMbHhlcXMDB2gyUuEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGu8HCRA9TVsSAnZWagAApRUP/2xRERi6ZuXNgre5SnaR\nXL8kX0EXMnxqX2cLWMxD2fXc1i4bkZK4k6t/JLtzqeSTrLJuYVx5CdCPQP0g\nOC2kHlq8/2XxK7FrT8xMChEEb/t8JcUMbOMMJSabzaYaVx15Vf+tZ+S/5oIV\ni4mID90FnRM7z+E1k6E7nTgg/XqAlqoBKXzSrVa0ydrj22l7XyToH8bQujF9\nWW21ucjGxmTfWeLpueYnjuu9UPsa07ph7TV0rgyW918ZG+PtV4A/5n3DI+BK\nGxJYa5Q0pXD2tWKfSCsy84AgSZ6JO6qhsApAwuoMJCMKY64O9MJoblPPUFmf\ndECy7z0M4iFK41gAI1HFs9fGNEtVBKBzUPW35GeoIvedZiysKcEkKVJFqZjs\nvDHbwrHwsdHl5N8TdotqDjLpUFVemWwjrl0XVCNLY+/W3zibiUG2oeZM6bwi\n670n2mbPffaeQPcgGTnDwujShddjoP/wPcymIrR+hFb40xmm8m6R5JsUnHjw\n5AZn+27kshg/GzY4q/vwFtV1MA3fGxz/kJv4aw34QLBgl02bZVw5jtgHwNgh\nlZEWn/xeSB8xFXu6Jt/CoVQyR4yzxtqDHqD1W4jjoD0gY139rKHmKVhQKL5T\nQgTUguT0o4E1Yo2E29D//CG7Tbze4Dx75bBXVm5qkBn6aCTg3CfuJrfDwces\nk5bf\r\n=zHXy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.10.13","roosterjs-editor-core":"6.10.13","roosterjs-editor-types":"6.10.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.10.13_1528491776713_0.6761503955680936","host":"s3://npm-registry-packages"}},"6.11.0":{"name":"roosterjs-editor-api","version":"6.11.0","license":"MIT","_id":"roosterjs-editor-api@6.11.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"519265b76371ea565711e0cec258b104776b4268","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.11.0.tgz","fileCount":159,"integrity":"sha512-GXRpCgLiiUEnphGGI1o9P6CQ4xvYuaq5McEUscZEFQSsn0qNgrzB3CsHaCuYZhSB5yJgNWppFnN/vTZw3buO9Q==","signatures":[{"sig":"MEQCIH6X7ZuH47ZDsKQ1vs62N+AwiwrboR+iSsDNTJalOppFAiACLQqkzcynP+0MSEzLEXvYCjcs6nBy81N8R88mMNlHiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHuXsCRA9TVsSAnZWagAAC7EQAJ3M/5yRhxYBnlOkVQdd\nwHYRAgclNsMp3GJVORng3UXaLLFhgJzQIw2smkgty6bDWTpc0WqvuCbUy5Ha\nWLBzFhy2UaRRBHxW2KUYPcSJ7r3BRvGCEaNoy03s6DUNHpkTzEezcIhNwIbM\n/4aKT+aZX5/EC8Cwdrc5dqbzxSiQ2sC7t3JfLiMk0zEiCp8wKx1tzqsu7+JS\nBHEc3H4bplVGEvu5qBAXBQ0nj8wivgbwDvUDdYsIL+6V93d2l19EtCEcIFsJ\nyRJDC9cSdWzitqHAkYusiiFHw90e17zKxgEbDa0s40xKw+HyYIyJYNpmz/Ek\nzhA52oP1DVz+bMpEJoKEiY65v3BjdirhybcfHkYD4DZqeDVuJWmtsWtae/PH\n833bS5Lb55xftuW8aknNkj6rkhPy2O/v2oj36S+FC9YzgLFs1LefrQc6Tz8o\nT3PhpAbDEOgegQED29Cm7jtfsev4Np5yOD+hyLNW+0Sp7BVlT6v/4HkXM4vS\nC1MLE+JDNK+sTzPCBuV65e+4vqzp/ctKXUPdO2fK1uD+z5EzvYyKOtYPJNiy\ns3+m487E9+o42MNnYhN+/MUbf6aPlPGTylB7bdNNXStLbHQGZkWaoFhFWI+/\nltmG/aAhZrth6kdoPgJ8kA4P4teB3E/h3lLXIOdMcaEiFP1TnRxnDve3a4LE\ngb9H\r\n=FZiB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.11.0","roosterjs-editor-core":"6.11.0","roosterjs-editor-types":"6.11.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.11.0_1528751595637_0.8482824062594558","host":"s3://npm-registry-packages"}},"6.11.1":{"name":"roosterjs-editor-api","version":"6.11.1","license":"MIT","_id":"roosterjs-editor-api@6.11.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"d4ec8cc39d9157b5a59c8170cd92adec83c2aae0","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.11.1.tgz","fileCount":159,"integrity":"sha512-qVyVXHokX0WEEM2I0k/qk1dwmVsCowI0A4y3YOz9q5Q7nxz9ZP7ygTygVAhTtRhh0i9PsHy3KquadxayX7cPQA==","signatures":[{"sig":"MEYCIQCeU7ibOWMKJ4/k1LuF7F+zl8Cphn6n3igGM+0ZGAOF4QIhAIvGUtQ0kCFVFJkGaI2fuFjTewN6jLzbWXt0Fym2uW04","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKJMKCRA9TVsSAnZWagAAdsMQAIws7BpXssYqonjAVD7t\nldh7TQLBM6BbFeKiz+wRcPYgvTcszrBNOu75tqEaWB3qktMNlD3ZRFNTm2pq\nKNQjbUdceTdjADwKnFhksByKjtLbvHpuMPWlm17PVgaOO1uoIMaYmWtQOXD8\n4+eiQ3kPi3fBqCDS9M5pQjeCBpgLsUQDW7gDa87t3iRhnm72k7LhJvXDMT1V\n3d1e4YdEvRxus7rbExkDkfhcgHtsDDRD802FVCI++w04VjsFIrBtWOREEmcS\n40Ap3Ha288B3OCcNcDjlsMMR8eUXJh1bOCcq2XfDpU98OLuIsE4zFe9bP2Vi\n02YIYyvO/wxUxtYoh6yIBXCoCH9T+GZ8jclw5Mix3WQj3dvxk3iJP2zhA4T8\ngR+fwQfAdTLEkS1SW7xQ+8BlAACW9tqYbcFnZY8VylFY8PirfoMfEUNdpuGh\nx3+Ps/OCWKqxm2TPyW+9V712xqjgSoE6GJpcQcqCK19Q0gYZWj3p3NLyhiod\nUiz4nKxM9LWFa9DqaW9x8mdPWt1o7XwT0PVH7/6+QyR/6uq81d9/RHdvkfZm\n/lX4UfzBZS4dHKwArOM2swpunBQarSbo/nxMIRgFFvQQF+qfgDYKEe6xZltY\nGsanDwXsGbjaMIz+0MrAsMx2p65jophnELkx1z3co+LH9ZpOxBE15J9oHlJw\nAobN\r\n=VGZl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.11.1","roosterjs-editor-core":"6.11.1","roosterjs-editor-types":"6.11.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.11.1_1529385737707_0.14073033560207926","host":"s3://npm-registry-packages"}},"6.11.2":{"name":"roosterjs-editor-api","version":"6.11.2","license":"MIT","_id":"roosterjs-editor-api@6.11.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3725d633abb7d44fa74de9d59f8e386ee1515c92","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.11.2.tgz","fileCount":159,"integrity":"sha512-JrDnbSA2MzfDix1EGUg6L5JvdZN5dFczQcTpyX4bkcO7WKYSAR0biqG/m+Bm5zRf24YSXJksyM8HAs/QGdHTlQ==","signatures":[{"sig":"MEUCIFwZVEGoT2Wl2xGIR1xMa43LJiA8BSFjGBzdebXxdEc8AiEAz8QwATEjltVtQA1SmN7aDEbPlK6wtruaNeOvoy0omPg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbNApUCRA9TVsSAnZWagAA8goQAItu/tU/Zz5tGFQ/tYgZ\nz5/xtM/p5NhbMMgGPOPmK6Lf23b17TwIDVbcnSg+X0yBMxQQ7BRiY8KEJXUj\nXrrN3J10JsZnbKLfCNd89xoB04rsbRIKtccRCEhCgakYX83tDCHN2/5jGQ/k\n3P8FNN1UttEN3BYRPNqRtz93SonMLB2c6ig8g7OpE5eEthMRtMyzAGzehRPU\n/09U2MBRnuudKuj1xQOtlVNEcvPQk4Ic7zQYQych/uWksne7fXyeKiWRzM8o\nedX8q76izX+i5uRVjTQJJAXpmGNW14j2goc6Y5wHyZwhxqZr7Q7DShBoLbSt\ntSs5VbMvfdCHa/ArMQ9JejCifKICul2kfURqx8wkJVxCHWg6Xm2IYE5MBsEv\n3vHyOfhx2uIAA11Lzh0WouGsnxmtKAKrn9Uk4RnTP2nhrjxsHsKuIgaPCdTs\nyZyJSl1d4nkpHuHAL7Q/BubUU6bTQJcnf8hTe0MzuRwvQ9naayZKpt0fX2Wz\nuPZbSH6bkzBXaH8SqpUbISVliX5rgP6uHnW/vhPyxihfvMAOqAsqxn7u6KD/\nEqMA+0OL5Pm18iuxkpjLsbWHEUpDKyliSDBv6JRrYngw5HkiPXApVZG0qjPb\nW3SZLrQpJP/2qnaTxsEpjDx5qo01qe7xpLFkkD5YFH/s0Ezxe6iYcz2V5Zba\nqmFX\r\n=4ndi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.11.2","roosterjs-editor-core":"6.11.2","roosterjs-editor-types":"6.11.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.11.2_1530137172572_0.2635073084774122","host":"s3://npm-registry-packages"}},"6.12.0":{"name":"roosterjs-editor-api","version":"6.12.0","license":"MIT","_id":"roosterjs-editor-api@6.12.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"26b55ad55506d3937512e52144408e6484b42352","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.12.0.tgz","fileCount":153,"integrity":"sha512-ADlcIRUVoAwPMQ2Sk0flNe0dV0Wo7zMQuDy/zNMN2wRfFgIol2e18cZqsPY97gDKsoTZe39pa1Of7SfP7SqzNQ==","signatures":[{"sig":"MEYCIQCAOJ4VtKCFrhX2zSBdOCfVOa6NNLU09NPGEojU/ifhZwIhAL1dpldXDxoNv6aGsRk9WHAdUKFLoxWyCEU8EJH1YPS0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPnhACRA9TVsSAnZWagAAn04QAKLobdYAFzOcyaaEoqTh\nZihUJCYLQFLaVjLxGh5Gb9jIe3yyYqIQTntm1siATs1u8Hfk5WSyX7RgSmWK\ncrYgqoabmxtz6KaCqfufOK6LsmVfU446au7z6MbFiaABMOlJuwmn4XpezQFX\nPSYp8sfGS0St3A8lurIIRXCiSLurgbDzy7J7G+stO0NBTSUHxGfurgOaaVJ8\ngKFkv6T4X2C8W7ZYT+O1bgEslCz7SoH9pVIHpGiNtJwZXsimqh8MmUhQHtgx\nHawK/ZngdkIiEukIvvQdrkZjpgwxUsrMd/+2G85A0XSWKwrNs9aKdY+VNea8\n0ydlE93zJvWTq2H0Y7P+yQotqu6J9g84cB2sd1xWC/RQykdtXpJoJPpiHhfn\nAotM/jikXNx662u0Ph3sdrx7B9dF90kvhldN7cc/3a2UfDwZL+aP1tvPeoNd\nEQB8ko8wFENxXH5ETbZHy8IMv5A+pJ0uF78NJa4FfxX1uloTJqCch6QHDWLN\n7ped5SBcvS4pTzzGb5Dq+i/jbEtGnM16PP79ZGT1gRRU/YKCeT4FDqvMyLdj\n5oVlykSEx9RrKSPmnC9NF0ZtvqkuRGjytMa0nJ+Ax9p/AEe30t1tWB7/sWIq\n4j5CNu8URLJwlo2DNcf3CmGPqjBMRUn5rOqFFLmrQihdUfD0leFsEuF0Bdss\nn8Xb\r\n=9KGR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.12.0","roosterjs-editor-core":"6.12.0","roosterjs-editor-types":"6.12.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.12.0_1530820672520_0.13511743451792158","host":"s3://npm-registry-packages"}},"6.12.1":{"name":"roosterjs-editor-api","version":"6.12.1","license":"MIT","_id":"roosterjs-editor-api@6.12.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c4fa9087b269a84732b7fe013bfd5cfaa161bfb0","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.12.1.tgz","fileCount":153,"integrity":"sha512-3LvfqNTwJO8YwcfJjdDxBSBhWWg/odPMHllrIDq6HBx/OSz2R/K9YLIleF+z4Xprc89paIJeNbF5wDBlx5a67Q==","signatures":[{"sig":"MEYCIQCidFRhIz5TRXv9GJU6N2dzw48NbtKmEmSObnYe9yUYYQIhAJvn8mmLJgnfMugVmSQ71dw+WJf8Jq6YwiTr2RFW/mca","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbSMqdCRA9TVsSAnZWagAA6PoP/iigcPmW+FjcCIwa9maB\nswlnCjNwtEp1S8O9PFyI1WKQxgxGqDxjip5mJk+tWOdgOQ7whs+UXdNd4rHe\nivixSxKptRHCMwOId1TSnwfEG0gylMXdKP27SIj/4FxeKDCQfRJtsUVh8A3r\n555y7bbDPT7xJ3sLV3sTxam20P10LicIiZ8PHTFJQxeKal5SbE0a+D2QzvVM\n/dnkTpb5FcMUgVOfMj5Vzth0jhHSmoDyyMlLzx+PEPQESZisSo2Wo0WZX0dU\ncRyrdMlKKHQy5KDeveyhpOGNzJ03J36ZDDeQF88of26CZ8fiag/4BRPkCLml\nrMW73mBjeKd1mh9ogu/6SNaMraX+ngeiyELUA4HrLog8DhG/KCIu4HFpy9v9\nu1Bty2Znf7lvhKPO5hppJ3ECpsqcK/2u0gH/KuG91jttFw3bAC/vK4b6P9D5\njrzyhDkhFedv5QOowXkFVY176TjnFK3gWIwbMLM2tgbfRpYp5zfBVRXbO7UE\nOt/7fC63mLkimuFth3hq2clsCynG0DOJhh2b9JJykQNBgHeu17jnd87QT6MV\nRdHllMv+XIiPX4s5Lx5YQOBdVVCkyqUiCsesw65WmM95U6kFnMiJabYndiSv\nEBvQqdMo1wFvazirklBnoR/4dXL2w84ygc68UrnhaVv1MGj7zlopImG/iCep\n9OpG\r\n=GbRa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.12.1","roosterjs-editor-core":"6.12.1","roosterjs-editor-types":"6.12.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.12.1_1531497117652_0.7514185205136712","host":"s3://npm-registry-packages"}},"6.12.2":{"name":"roosterjs-editor-api","version":"6.12.2","license":"MIT","_id":"roosterjs-editor-api@6.12.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"addfd346f56809f9204ebc0bc39d036a17498272","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.12.2.tgz","fileCount":153,"integrity":"sha512-kQ6TSdVp1RKqj82HPKT3KH3PmdCCxnY+zle8HHKXyEmVClim5AHXpMFOqpqTkeyBYmoUlt7ztezbDsYmeKz34Q==","signatures":[{"sig":"MEUCIALXygYPP4YOYRs3OgnanhPh66Zn/igMuLXfqbjzQKkNAiEArq8Qji1+ApJrsrwZ8c547BuFMJizhOhTrb0PKgwy3fs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTRlDCRA9TVsSAnZWagAAR1kP/2Euv466t7WgOIBncmK3\nzkVFbGiB4YUkZ49BTDtPaADx60hLK+KysKJUx1DcY5yzzrS/WK++03QojnfA\nTwr77+CMOHvhsltZd5B7zLvYlxhi9i9npvoIil0NcYR8g68Woc2QwcJV5QUx\n+/m7LM9Tllp231W8bCC4Ur+Kh18d11spJDB4cgDpPztSZ2J6YP7GcOkhG3Wc\nxXLKafcOHNe1h0AxkVy00L1VgdGudLq78iHLgi5oQ4C/563wQFoO8W5Lx7RN\nqQqgU7k77gjGVa9ZfDNOgnDcU4swGBIXCtG4VM142kN5y0Ti8HnyM4CamgK4\nUiurUynYXDysrBqyzjkRIHX8g0SZkHlgqul3vHr9HWf+DVogW9SmGDZmfL7T\nMQ4xaghSCKGkpNXCfgxUC8sTyRqNqDFgSi4C9d16pInSDIft+le+/cTBUCeH\n7N+rhPBJaitHnO65CfVZzr3GpAVj8+zZAJC5xG5UADTqrZ7qJHGxWimxVDX4\nHr//wqrrhqNPtQAAECkMbwU/oOdti8McIOema7HzQF5pKbSPSa31KUXGJ3o+\nGivLICqAx1eUxRoxXL+jxa0SV1zk9NtCEQ7g73ZLwJAQVm238XlG2+SprpTD\nl6zsAdtQ4b1jVtfb/OSq4y1BfSRGDq2xo+KPihxzesOPQqNFt9fPPwdBNjJn\nPfXc\r\n=uadc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.12.2","roosterjs-editor-core":"6.12.2","roosterjs-editor-types":"6.12.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.12.2_1531779395232_0.91757341201182","host":"s3://npm-registry-packages"}},"6.13.0":{"name":"roosterjs-editor-api","version":"6.13.0","license":"MIT","_id":"roosterjs-editor-api@6.13.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9860a8f6e35e6c5143daffe6d7e497b6fb080087","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.13.0.tgz","fileCount":162,"integrity":"sha512-MuINiaqfD/3COcPYy3XClfuRDsFKQDaf8QVwFhDq+IyHmUlbtxUhHUlNN6PXv0iasU0Bx4j6YHDbiDSK/oUYiA==","signatures":[{"sig":"MEYCIQDaMGbB1YkKK3Q/LO1HOf9S5XpE/u3hZxajcOUPerJluwIhAJNM3SfgZ5mezKvU6poHkm1tIA8Id6+4YaDa9aceqG9r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUh1GCRA9TVsSAnZWagAA9NYQAJgrpygvPnOBKHQarXw2\n5mzz7lsfdZ3Ir+oEL7Nnqku6vmbO+eMnygH1VVVXxH1xLDg9aHG/UM5iPz21\nJYkWXFe2ZzZQKp1OklSFT29hn3Ve2EW6m1q/iqiSloHGKYTK5mZUJfV2qVqn\nP31qaqmkRo5Pfb0i40lo8BBjEMsbH6CaHb7h3hbDv27ys+1xaxw49/ZxPxgz\n1cEK7MCE6oGfCexowE6o0R2AWDE9+YBjKWEcdiT9wTLX8Wdjl60JQzOr8u89\nVsi3Oswl9jOfNLIaAoQWJ1wmsjLaN7vyJxviA3Ms5USsbe5yRHnZVrIWrFLR\nXzLqs0wl5/6arg5oKAs2kW3ACxWLlDmqjXUyRZ5Of/hhIwuH7o4TOstoqlqx\nQTEcNtQNRSWirxDqca0gyS4EoGpPYMA9Ueow+znxfHNY9bcgAP14H8BF8MVQ\nHG+1W00YUa/DmsownMdlOI0cOap2tCyxnVXf1jnXPhjLrHlBNXpgT8UA2Yq7\nzgxDwacDrs0qfqPG00gGn5bv8qfaWaVTrzCuFK/m9sUKA2+Z2BV1icYJ009j\nmrk1ZFWpEJPx8D7mYkizLfBNZbLBZLQM8o3IkGE3RwxQqocrt7Bln03KN9/c\nuqV9HXr6HO0ACq6jOEkc5OMOXn2Blp+hijbaPBQtjYVjkdmqgTBImrxqKwx8\nl8s5\r\n=o0pX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.13.0","roosterjs-editor-core":"6.13.0","roosterjs-editor-types":"6.13.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.13.0_1532108102629_0.7086596240267709","host":"s3://npm-registry-packages"}},"6.13.1":{"name":"roosterjs-editor-api","version":"6.13.1","license":"MIT","_id":"roosterjs-editor-api@6.13.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"260d15cebd85bf514efd0499a0095f2d7163066c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.13.1.tgz","fileCount":162,"integrity":"sha512-ZAbqv7EvOCC4bc10SGxhke48495QoZjbqZBoHtnyG1nuNhu0byl3dGgAuGPjxwKq9IuJPcSsDGozzunsIpg/KQ==","signatures":[{"sig":"MEQCIHkFtBCK7lPet8ROg2fYRpUN9tZZPK2JjatGuqMiPnXkAiAjWqC++h5oaqGl8EE6qWtUW4/sP65Rilqobqo2cx7JwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUkqhCRA9TVsSAnZWagAA4lkP/3WB8zV7ukQA1tgPG6J5\n6JiVwFbDVr3ZGoCaGG5LVScGSq8eTwdAUT7+ugHx74KlD5nGcY2BCEJ96RNO\nUB/mlGLjn3HUZ184+eDwIVjsOxim4dHBlMVsQUyALMoXnVoHn0UQzF6K6ElC\n9mNSxk6O4wfyl3HwhEnf9GRK+1y6XLIM0FR0M8RRdp2Vxp8LRgOC6/Fz0buO\n6Ruiuh4fCwopv768CG+Or9b00p167n0vjNtkV7LzRG9bgz4cxH2b6jn11Itm\nbJtM/E9sQiKna5Edknj40vXJq4ABCQXE7xLHn7Ylyg5zCQ/S27Sj27Moy1rU\nf1Mz7gqHkDA4A78JchB6GbMRl4xAXuYIIfq6omIxV2hUJVTw3AOJxqJbZdOI\nw0BYmGCEAYt7i/pFr0VvjveXIAJ9ksAGZzXA3nt87p5eHTleozPdL5IjvFiJ\nWQ8uKtV5vZdM8aqjkRtTuYdAWqSU3mo2GceY5T/lG0kkp8bfSLaF1lggguxW\nRzkg4d83yav8IPxqRd5hWNJ17L8XX0dTH3bpbDjkVR9emL2sFFf4cRcKS2ca\nnhaPblQYqATUXPGJ1hqKNYWpA7Dfz9zNB6ymJmcNTJ2ucYwahn9SR69mFwFd\nXHcuIzl4ProR6KU8T754R7zZzhMQGG1f9sl7Jnu9YFpXg4vV/KaRROd0WTRZ\nzteI\r\n=oSMn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.1.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.13.1","roosterjs-editor-core":"6.13.1","roosterjs-editor-types":"6.13.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.13.1_1532119713008_0.14062699687323454","host":"s3://npm-registry-packages"}},"6.13.2":{"name":"roosterjs-editor-api","version":"6.13.2","license":"MIT","_id":"roosterjs-editor-api@6.13.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"31ff2869eac18736ac3491a4dbf7e180a43356a9","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.13.2.tgz","fileCount":162,"integrity":"sha512-6bGY5vRgdnZG0UId70ECyZDf/NhDkihlX2hqnVgzAlltzs5TyqKSUr0v80GbqE2v7quZbB9nm25fXhPU0SCygg==","signatures":[{"sig":"MEUCIQC4AT2RpSVJ2der1OOKNmFyiW3v9PGoCavwMt34XhMiawIgerYAyVQb99nkkAF6p1wciu3gTxmLLGHmCgwhrbipwIY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":208004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbV6sxCRA9TVsSAnZWagAAaEoP/iAkbdcRS14NvhAVJ8j1\nzGLCcTiwcFsL2INqodA1v5k2xTgqc9ZSwdhDlzQsDYJcPH+nr1QNEX/WdRHS\nYVVbuLNPWMH34JLbAvP68QO6mhheSzRRbD1zYtOawkRRIMaub1xwDk5f0mAV\nteZhtjKLYipmSpDHoCUGBQPOZmVT2XigAF9orLiyLlvxyblS9j1D4v5JRheo\nJpCsNYSnUc8CEHyiAYr634ut9jYOw4YgYiwpvwLc9J5heZBuvX3wlBznJFbq\n/VsIPBynpSNPkIzHCXoILwgjiVhl3o52Bl/TGjbpkDxRR8vx3/oDMnu3GLTO\nfLDbt51qVSCAoh7ZQvIi7Y63ti7UP+v7wTa5/LIXkKCbm3qaWz9gzM0ZginA\ntC+2Apqe0EyiT+T+IPFsa1k++bYGlh1yhPVyLcV28IRUsiGl1uno2Cwg+Adc\nx/ZSLEcL6AyRk+g4krJa3CmmOPjqfKVKXdvjp+ptiZheSZr4ZbVYQ8g+hSO+\nR5VOxKX6JkaKDzDcLL2FVykYqaMHKFByl+gDrcOktN+gDYlnKYzeE7MVIrdu\nCQ1VErvZ+rOFlWKw3FLDsucYrCZ46OGldHlZiO23KebsP2KxEUe/Uvdv5TZg\nDpNpBbqoO+cIcvoRHTZ9VCFdrSD/dTv3UWU8JtVf9VGqi7irD+FXlvv53d7y\nORte\r\n=/l9j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.13.2","roosterjs-editor-core":"6.13.2","roosterjs-editor-types":"6.13.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.13.2_1532472113348_0.08233225554595736","host":"s3://npm-registry-packages"}},"6.13.3":{"name":"roosterjs-editor-api","version":"6.13.3","license":"MIT","_id":"roosterjs-editor-api@6.13.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"2672448f3082dd3450bdd182be805e8a39269a40","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.13.3.tgz","fileCount":162,"integrity":"sha512-nUGj54WRKPTY6fiLhVu9Vzl41Ap0pxV8xJw6mifB4NZFyCpGo1kGPWJWNGEUQVksuOu/itMW49D7YAApSl9lDA==","signatures":[{"sig":"MEQCIAWNZU3fsZi37MZ7/NbSq2l0Pq1rqWInYlav3eGg8lFcAiAJZnUXZ+eJcDxDPTX+9/SF2DREj3o8yQ1m5e+A496q1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":208004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWh47CRA9TVsSAnZWagAACaAQAJPkoG2PEoC2RkOa20nS\nrtBlpvkSGHgs97PbPU7mlhnqrHlMeJYbqDK5BVMy5fh5OQeSSfFooDxi2UOW\nTnNUklOZYemC3PkrLI73ioLkRSSV9sospITKoCvLd4yI68PIX3NNfDDBJkRa\nucikvltNUnixo3cUjkzhDCCF5Y62yJvftB5Gu7FnCSJHPXrTSTAae5dhYr8f\ny0cxb8i3vd7OgZy4QDSLY16He36nl3EuGSXgfpXx6kMnIJ36LLR3g67PP38/\nM873CR0mDqcrVG5jjyxxQvTrkZCapkbDoU/mnNnHfZ4SWJnJqDYtqCQAh7sd\nGu+MsVTmQ7+klAlBl5pZTYbxrV5CtFB5GylD+JpK+3hJkETe7p2EpfH2nBlb\nau2kqer0TJcIGGVG9TvQsc55W1TGHAJSgXeMyofm7YqRGKO13yZZSmZJah9/\n5JSZJtnoDdJQaUcIukk9fq+/3SAfwUR+/lZ3gF6iuCrZurqVLYs5NVw2a9zO\n/nr4Umdl2HwENgbiJ1mER0zYKyiOjGnLPR8ZUxMMRVm8sZPF6JNlaA8z8ikJ\nc9qHwtiheCeBFxRRlfyhmp9Ia/fA6rUhPoo4M/Y89WjG+ODDbmn7JqqsKt9G\nVCKqL7YgLgP8453YEjAMT8pSoEM1x7gbf5r8U18mKq8jDEe+hUDmYHUaMLqc\nrqfZ\r\n=s1lk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.13.3","roosterjs-editor-core":"6.13.3","roosterjs-editor-types":"6.13.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.13.3_1532632635116_0.33912422364653527","host":"s3://npm-registry-packages"}},"6.14.1":{"name":"roosterjs-editor-api","version":"6.14.1","license":"MIT","_id":"roosterjs-editor-api@6.14.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3cfc8c698f4651179b79411bbac478bec1c13275","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.1.tgz","fileCount":162,"integrity":"sha512-7Yn7ixUnCQs9xMQntNLTBgqlrWLpu3MkF2kYPF4q1yDlK4RRqmhyoKc6ux39PPXVUowpuMEWOfFJRl4puMA2UQ==","signatures":[{"sig":"MEUCIQCdTyXJW1y+F+obk0CP4QzOLbnnJzfKnawHRFwPy+VDPQIgRKpS7CPvWkA+SYpavtg0WOOxVr1pc0NsXZWibGFW10A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":202264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbY3gxCRA9TVsSAnZWagAAPUAP/iXvk5LCjiZjGjC5yoH5\nn9jDg4U0W42IAKB/Hkwr3IfvezUaPS4Crd+XN94xmXd6iJe1zi5o865caFX3\ntKTxlKm16iWGopLETbtE9y0FtoOAySdoQkeF/C+V7l3PXPY9yTKM3P5+HYqv\n6FkKrGD4M65IEH8l4XDNudVeb7JJrWTyfbOPU2krOOgNJhdql/i86i/9DtbB\ngL7bGV6Rh5TlTbNm6LlPjTxKc/LYoxvqi38T9vGECoqX+38JFnMmF6i7LLor\nljCmzG9W4HwLG9p7bEHHyVeoPb0xX62RVvuiSvun8P5A/EahVd7bgF7sUPQ0\nMpIvS40WljW28CHVVoGnfKrpU5J5Avv/nhz3e3l6QGWGQzuOPEddso9T282S\nBFlTcaQFoNvw889OzNx5EFdl2Mey/KYXWHnrMboleVjk3OiJ0ObVCyTFS9+b\nKWMauhreqTdChSAyxZP7ODse7ElejZ7Yxe+rmfwQNmqbmc9En4CpTws9SQoT\nAyxXGrS6VObQRe7hYIXzXQRXI4sSh07IrQd9U8L3cjeLU9jgdXQ6Y+UsupUa\niAaWvayYB/pHEMxDHJ1KRekf2tPQ5+eY3eE5Pvy/bAI/VUrXgZAewnOEeOuz\nz6KSUGQ9wZqjp0B2FfVsCCestqwJdc43m9wY/4RsgkfNyLblzOIXMPsguT6D\nDyBl\r\n=2AcF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.14.1","roosterjs-editor-core":"6.14.1","roosterjs-editor-types":"6.14.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.1_1533245489257_0.6224667316840953","host":"s3://npm-registry-packages"}},"6.14.2":{"name":"roosterjs-editor-api","version":"6.14.2","license":"MIT","_id":"roosterjs-editor-api@6.14.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"dfb17298f6eabd42609af4c09a6cb7a1c14113f1","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.2.tgz","fileCount":168,"integrity":"sha512-FNGV0QWZ5SXls/iqRUAMarw72lwBPAPz72yV1wvH5nMZFhWvhPVzznuPIRpnbh9eaKekxs7haPOYYc+uqiRM3g==","signatures":[{"sig":"MEQCIHa6Uxrs0F5xxjz+F1dspoNPs13XBf5qlnbSjcHdWQxpAiBLE0htKeFX2xBFwfPaYZB7UiSKxl1etEsWGMueS8YRfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZNTwCRA9TVsSAnZWagAAwL8P/3v/OoEG4jHEz7So43lx\n7tA5Y9IyCNyypwtzS7GNu+qC+qVXFTAz+Z7AmjdlBHYbWYfKqVz+F3ECRXyx\nBu5Pnyekz8wHpMg6UROrWrDPq3WnYAf9scIoDlP+Nu9RM26zuTm6Ekri4ZKM\ngxNLLJqqSNa+ZqyhVqT67XM9kq/r0pIBn/EPaA4DjTiNit4VOBnuUdELmZnk\nk/4zpzWc3RbkczAzfWFuNL2ZeXuD1Xdj8gbEY68PlhS5ge4TiN4dfMXeNVk6\n0r2YmwjH5UkpRIF0qQ5lMwL7XASXWtBsOBf/yQhuGkvKE0v8yCblIkLWlbk4\n9vEJqO2owXw8KhYa25UXscnmBhPeVT4X5QYs+MfbOOxDGE54wedmAF4wVXz0\ndkS9rf3TwDyaRWaFdCJjDl7SiizT7xdznEtK4eo4yrfGTsYfjdztpKMZmUqs\nPK6pq/3vqUmPSH6tJjCexc9gDqp1Xe+E/I2FF41X2OwZGYS8BeT4IZzuTy2+\ncTqFsNavR3SU3mkvhbMG7Zrfrg6cYEv3b16ildW290p94IAVPHaPbXKoi1e6\nQJaW0tS30gpQccfRDPUUdfOrP/FkstNp3s5lPNXmEZKiRTfnM+aN1V1I6Kt7\nL4E8SARyqP8iVR6XbQc+IcbMlPhY3r13fxbh0s8id9BwtY69+H+j3kFMamK0\nLJPI\r\n=DGFS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.14.2","roosterjs-editor-core":"6.14.2","roosterjs-editor-types":"6.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.2_1533334767557_0.6711230973028774","host":"s3://npm-registry-packages"}},"6.14.3":{"name":"roosterjs-editor-api","version":"6.14.3","license":"MIT","_id":"roosterjs-editor-api@6.14.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"48a4ca253de0964c4c39435f0dc71a0180137f16","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.3.tgz","fileCount":168,"integrity":"sha512-VhbNNJrt/iyZiTjhmN8cf5MFgKAlHD7QqkWHH62A1rM0SM9velF3URlrRTr+G+fhsXKR8FbnFwArk4PjITjZnQ==","signatures":[{"sig":"MEYCIQDsqWB1UdDvbnuKGyWQb2wlsNPjBcXOhD+9BttJZP3U8QIhAKfNOtWEU9F6G89xz6zBw3DB1DzPbEy/yaVS5BzDn+Ka","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZ9RfCRA9TVsSAnZWagAAeKUQAJR9pv8j+ERGOdDyp4M1\nggymqXdTHWEC/Bn/wAONjBcuRF8C/hYYkQ+BHS/2ITgmtH58/qDhWznGtSEz\n0zYnVSc0TjHIOjSTVHOdl6q60NJouk8LbG3fiTUtRHzHIQI534oRw/z0Q2RD\nc8Go3YDvWXAO+kIVriHK4Iw/B2T5qiyFYwjfZmhuOqvbkOhqp5vEQ6SI7T3Y\noxlRK10GNGSmDWIccE/OkCnKvahFYMiwB2fr9xgHdRhyKaGyjoC5T+uWZyXU\nLyA6eUa1ltIeuGeSNmOpqKkse8X31FlqWCMo70+fHHCW0wOASNGEzRJTXS5N\noqxa/ro0CqcokkQH1iVmhCKTZH3MtkcTBR94ausnW/WATcGYNJ9lcGuGw8HF\nIFihjBZcw2zqxgwUVFqXgHi72fcQhaeT9QLDUZ1Qe1oCa8xFtKtfhvyDyAvN\nNudo0h/TgC1qB68FJ99jiQFYFOTqKHH3/6ycFlAK6chiNu/yDBWXQ+QlywcT\nxYCTeKwr1VcoMFbZZUhbu+hD71j1XwcSbaqpEvSGahxjIN8QMgXKvkfsdZTa\ntdrVVRrNJH12z/fe8taBdjKPWhYmVFMSb+WR4eKE8ndvomTGbRvjjDdybOBC\nsmD+ny/iKP8qtBMdl8IRlyJxnNTn2QPOSEOW4VWqJkeFw6sIxy3i+ij2gp0K\nhRa7\r\n=hAV9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.14.3","roosterjs-editor-core":"6.14.3","roosterjs-editor-types":"6.14.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.3_1533531231126_0.90215101065712","host":"s3://npm-registry-packages"}},"6.14.4":{"name":"roosterjs-editor-api","version":"6.14.4","license":"MIT","_id":"roosterjs-editor-api@6.14.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"8e3d1257fb243b9d2e22fa1502a21f6f38d6f931","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.4.tgz","fileCount":168,"integrity":"sha512-SDjDpM0jn6CD4YGGEC3H0VrX5SdqlEyXvMtxM3bnz5oucG58HjZjJBXMzPtH8LeNu5VnRsqwfSEKNBNk74fhzA==","signatures":[{"sig":"MEYCIQDGXcxKkzbdKRpyBQg/DzScNcrRrgS9uP0gxRHDCXwmIgIhAJrwplJ5PPorm52ZLJIhbPacdDHULZAoUwnQwTSpYW65","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaMusCRA9TVsSAnZWagAAZkMP/24pPmtFwTirMgjkdc+I\nKYT5bW0dCynn0hsFyoeUmyIv0hvsn9FK5Hwb36Un/46ZcpEZaDS4AssgQCyQ\n3xupU0dxJHU8AM4+idbB/J6QoUyY+0CRMNAf+tM1pizbUlcnXs64/EzzOTMy\nquSzxlTCsnUa4ibKQpSoTV9roiClftgPKYI6gLJfwTA/lrLqtViaaLyXd/bF\nYqlMu6IblofGC4FkhbGkjmRse3tHk1CYowUdBkeAtOV2npGvGkk7ZCOY8ASY\nAo6PCZG11OZ/AXvDTAX5q9Nhw12cmr9fux21f6Dtd4t+A3GCyXixT2kIuqbS\n9SWEeRxaFKn15iyJT3ZWczYA6TDHh3hm6XLHGOK0hLNj/mN9lFM2BdkRziTw\nZ2GOGYAZqCVLpDYL8Tfh/ALQgJa/A86PlbDG++2wdO4fRWRg6PhmuKwQ6G4p\n7c4wEZhxPHgEgG4t6WA9LP9rXMreoA3utFcpwtvrr+/f8ZGKLC1zNUHnpY1t\nWMddSh1atbNmRyrdQ31LWDlBVWSPcSF9WY09LjRWHdLLb60sdMPfmX8KBPCr\ntzVDtx++TVkXUQ8kWbFQ0FYQRK6OhpYvzRS9TGLSeaLs+SJhAiZsuLfEiAl4\ni8JbSODXpf81YUTmXUmTceT5gda/M2ySrnkogTgLXI6neuhQGcd5euEAJ11r\nkj2H\r\n=ViJd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.14.4","roosterjs-editor-core":"6.14.4","roosterjs-editor-types":"6.14.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.4_1533594540040_0.5117521695431113","host":"s3://npm-registry-packages"}},"6.14.5":{"name":"roosterjs-editor-api","version":"6.14.5","license":"MIT","_id":"roosterjs-editor-api@6.14.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9e186484b3d48715ff55e1ed64fd8128a0739b83","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.5.tgz","fileCount":168,"integrity":"sha512-p5z0lvDhA0J9P/SC7ncxxyLuilD5epQht5XnHEFqh/WfuYoYaZHkWd9lcfkvyMF5stbbCd5bc6Yda0RhSLK7Vg==","signatures":[{"sig":"MEUCIQDAS+E32YfeWeF1FrhLHfkBplb+FyQOSvdt2owKbyyAuAIgWs8gFs93/xYedqCVckiRYOPeugvOv6wSoEsboedXDWo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaQrTCRA9TVsSAnZWagAAuY4P/jZ+ExJK0JghGvAn+SGZ\nxZu4D5z/oSQ6EENvn1RVsxzIQj0wvUZ/X69+NYBFd6gl18ZrozGll0lM2lF8\na3qNjO0TE9v64KWSeny3zDtffkfnWgYGCEZGNLo1Fv1pK/vgQ5YUfxfaX9Wo\n6QO30YN3vJatHAtz/Xb4f9j3unc8eW/LU8j9MXfXZs+WdDz/T44pV81zfD3a\nt2cbahOXSHozXunf3PkRJlRq8GEKUbUn4B9hCNEKA6xk7PCQFalGaYACjKCf\n+XEDCHQtOcKn7HjJR7Yqhgl4JqEKCr9W3jbypRiAEPbs5JhxVmoiRS51UvaZ\nM3U3/7dlfGWfB1fky/xlm2rV/p2PYrDMx/eclcKZ9ZpB4TsaS15s0e5iOymC\nM/OdvGF3S5FY/Vy7vS545BmJcY8OVGX4QNWNTB/96Uz+M/7+bFulXkePsCz9\nMKOnYA2EnUHEG7DpIAodFOi3gd2KvT4TrZPn4bqq8xh3Akdc//eOYXfMJHp7\n8a1QawpJb3/kKZielWlfnXBUOEVB5VfhO7MJRS+GBJDdFkWQhw8H0JbY9qAK\niKDmnzWYEK05tNfCj0FEblmvyWuCeYQKABotWa/EcNo3IXfV/JtwdUlr9toj\nneEvC/VT9J9xwH7gI+8eiK0TQvNK9Bzdcv9gcke6gIV/6LTgu49i1cDLea1X\n4R3P\r\n=uHgP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.14.5","roosterjs-editor-core":"6.14.5","roosterjs-editor-types":"6.14.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.5_1533610706657_0.4631867071981177","host":"s3://npm-registry-packages"}},"6.14.6":{"name":"roosterjs-editor-api","version":"6.14.6","license":"MIT","_id":"roosterjs-editor-api@6.14.6","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6766520cb61f9c407f3aa74e10696bc018e2ef9c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.6.tgz","fileCount":168,"integrity":"sha512-L/xHBZNPA+VnjUMRH89rWzskta4R14Kz/ip/D+2FEk//fUvWPLW25vEGuKXn0fl8LgPwzOWNd5ympY9u3YmADQ==","signatures":[{"sig":"MEQCIHnbY8Hv1CWrUz66nmeJRjUwRoN/XLaxJC88atumNBXOAiA7G2Y/3dBF0UCPn3BmAxFSoa/EGldgY/UEiCGiGfoEpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaQ3+CRA9TVsSAnZWagAAnmQP/1XZIorLJNPjrkNsqzwL\nus3O8LnESj3PrPGSFEt5Jf6ZVzpuhAx9E3RJZTigwEezbk4Qu1IA/Vczre4/\nSYCUav4QFII1c0NlxlvR3u0nIQaR2rYkYgSfzMti9ZbyqqV3VhcXj5DrI+oc\nj5UJmiVAEZ5dURqpShg0i3yv6nCMfTYbZ7dCpjW8Z3Qhbt6V3GcJbu1MQyMg\nFw7qJiGB9xirDA+WiVmKkld6rZKpmdv1iaeuACXvZFgeoZRsRRARZXceVDsI\nPrH8CbFLmp3XfOvaz7o+Jt+6dc77Vvh0vOtnm8pSwwrkxWKmtb5vqK5rhgpL\n1SrTiWIlKKsOd/JcZR+Vc/qZxi+8Y8Vn+EOrGWarY2FfKC3BMpRBePQ4eiFL\na2ZlegWCR32+Jim+UyS8hdkjFKOdDyt7c2bPm4NoLkurbjCsUsUjkl8FSmDK\nkDqoUDhbar0s5SzIluySQqGKEOXiG92xCCLew78Y8NkiCACp2DCuUZQvHt7a\nPfnsFgeskEsZfFONDD1Ee2fKUIbTqOhCjtdaTjWei92qeMgj8lSvI7ImAeGC\nEWtG8HTfstlhFjaoidakHxDfMD/p2KiUSbMnmclUgGCiL2gvPHQHyaWjg1Gx\nKKYSZOE6hr7vn9c/pFX+VCLPFxSi/E21SY6+6PMBa3XM/3RP+a09YysyZKCm\nU3cn\r\n=rMXU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.4.2","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.14.6","roosterjs-editor-core":"6.14.6","roosterjs-editor-types":"6.14.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.6_1533611518475_0.6963693980484831","host":"s3://npm-registry-packages"}},"6.14.7":{"name":"roosterjs-editor-api","version":"6.14.7","license":"MIT","_id":"roosterjs-editor-api@6.14.7","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"63211c6a4135431c16ff6a59536d456cc8cdbb44","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.7.tgz","fileCount":168,"integrity":"sha512-qKOGTWSNjVPfj5Vea7gkdKtLe9gc/uybNTcoC8yWMkhKQTIqHVcLasC/0pej6NCz0BiqmtUrdJpHLBf8c9f+Vw==","signatures":[{"sig":"MEYCIQC0Igx+7M8lHvVwY5QTW5RYllkXa3AV7vXdrcQMVSi4SQIhAKbA629gWyyCnzcW+UHlFLYRRQHPyEQSAbZBPZ8yGgtv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaeCKCRA9TVsSAnZWagAAm7oQAKTUG0T/NoUlHirrNb/M\n3ZeamUuuVDDCiw0U4BWZnHTjfPPdZICrOIQr5/lpAeyEF0XiNzIy6zhQ1sTh\n1vDfMGR/ZxO8B+km5itKUel7w8o9ptE3e+KnDM8MwD5Q3rdF/ndcgq8dzB2K\nBgfuEB9u4KY4aYlewD32EGqunGRX0rTZfNTXOHCvH2gxfPJFMIHNCStkxNTh\nYdJ2nFYKpBCxxPnalQwy/x6EWwI6hGHeN+Y9H5rcVMAoeLdMxC0452G8dP+f\nNFnjU7+FQh1JEmm66Ff9yedoqRO+0IOB1oXAu5KzpZHUnbMiUzqeSbFrwYu/\nx1DiDr/jliw3hOgt2k8IERBuAv3ShX84RFKhosaNWDEst7xTt9XNendnCtoA\nbzWViHU1i6dlG0/9AgVRqiNliRMdv4IkUBB4X8KhOXdpWq4Tlc8NYXRn0KmD\nCXdxun/1EvCVmqtIAxd9M9x13+dLne+xGmeH+Y85hmWKfejR1HiOi47f1XCa\nnrbk5Rp5UfV4mAFbeG2zpHYl62WMK4kBwKPa5JGy+0WFDKc+/ZwRbn8dnqAA\nE3uaLpk5H6sEJZzZ/ssWbSLliuXpCIDojNDLoGou9Mcw/13OgGSsGZSUgzGv\nwZi6H/8mEJqQxv421XCuy6Z6iiHOylnnIBdrq+jFrQdmx0M5anFjx9jf6ntz\nLHjS\r\n=udgf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.14.7","roosterjs-editor-core":"6.14.7","roosterjs-editor-types":"6.14.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.7_1533665418669_0.47724071221914555","host":"s3://npm-registry-packages"}},"6.14.8":{"name":"roosterjs-editor-api","version":"6.14.8","license":"MIT","_id":"roosterjs-editor-api@6.14.8","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"667953cc73cc21a8f51a64f44cc66b0779c741be","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.8.tgz","fileCount":168,"integrity":"sha512-WNF8OeTy11Cu2ugYZxA2xU26DqfGM6LRlIpYh2RJhUxJsDuhZ/jhrFZcjgU5R/yOpw/ZsieRpqvDb+S9aMK/4Q==","signatures":[{"sig":"MEUCIQCSo97HPGvHUscXBZ+F4jqsxNgP33zgpFy2LzkQPHuD9QIgar2n1bJqHljh7CJh2ntxMtPh/Jemrlz1vZc2ojyXrjk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbahvlCRA9TVsSAnZWagAAHv0P/1EU/avA8kRIyh4oT+Uq\n6btB9RRLwoqCIDH5r0M5AYBbUN/MpTsMdlvEA14kEvNLp4KUtJ5ShhEZ2+mG\nOFaYw+qa3HDN5Xsk7UOdIcCU6OjkNePRCiksaYhCtgqbf2KSaNa+omp3mH5V\noap0lrqQbOKusn2MTF0B/iLX3xoAOpwZJjwHQHaF9ZQr8BVCg7fG9UZA3BYF\ndot5G+Wk8av04wCm498/5gbyhGwWNbka8AMP1QuhuufEaWEq3ENSJGmr3FsD\nKv8mbKT9xfPiwqcoHP2bxrcgyLgGvCQlH7Y31tRj/9Ru/kgwRuU2Io4LTjpb\nzhVG4q0kadNpp6VmtU7BxhRBfcEsh+xvIYjTJchmYktKZudHdnHLYRKorzdC\nuqMIvn6EFr4m7MSvwrc447sq7qx3c2b9hY5Qb24tGArsIwhgqHDA7idF0vTv\nI9MTBvZlHuFDGdfW/2yZKObtLrqfApsXOe6umn3uK4BCIzmvP72QnOPdb00O\nadg9B4uIvT+iQvvTzqlbb4IFhoRW228cptqo8Dyn5j+nA0I/B40CDhWOZVLW\nxwGzDnqfsEDKWkhOsaPwuLVYFJNgJJHJ+kEfKljEn1MeALjRJ2zt5HCACV4U\no1AvUlLk/AqxBQ/rJcZGn2rLxP9ZEWZ4W1Q7taiL3qIjMR49EDrGQoVunAnr\nBSOf\r\n=yu0O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.14.8","roosterjs-editor-core":"6.14.8","roosterjs-editor-types":"6.14.8"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.8_1533680612999_0.9025476696149557","host":"s3://npm-registry-packages"}},"6.14.9":{"name":"roosterjs-editor-api","version":"6.14.9","license":"MIT","_id":"roosterjs-editor-api@6.14.9","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"08c9376582b9a09e542e265125dfef619d9f41a7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.9.tgz","fileCount":168,"integrity":"sha512-+l9hFNFbiHQwFJd3jEmGfQTMuOvAiQq/GD6T5OpWZXAstrxMWS2J+hdRKgSBf7Wi9lJYNtZoXzdM5Qcx389Y3g==","signatures":[{"sig":"MEUCIQD2mo3z11y4guagX/SDEOgpKB2UuJ1ztJcalikkr5F2AQIgSSfKLgD9RyWZOhCOVY8D9mecLaKHgwYGbQRwjcaT7xA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbHw0CRA9TVsSAnZWagAAo0cP/jnPItCrO/aCMGh/J5yj\nDjyjCvBFO/FQ/1+ihuXgtCQk50j68X2ayeXSViIDPLR9y7cP7HfcsNHKxM8n\ntoizPJQ2PFR61CfJ9Y8xDg8uiD0eICVE3hDaKQxlZExjBr+7lxuZ4RMuRsEF\ndGddAXKWZDcemQM4MNtVRJ/kE2Cx9kbvi4MXyaHxSX0hg+u9SO354dMSR7VF\nYMdAK/qKJ25NwHQUlquFPnDSTh0F64N3EPEQVgVaweQoVIQLpB7S/xcCDlaO\njgGukEvQ3VUSIak0OT0xFtZdYyjOWj0YfaEzbL1xCAanQ4yexhBQ4OyT+0Ds\nivTeYq8Zj+KZQtHVVivB6vIG372Ok53wC0ZXvt6wS5x79ncFwSjElEWdiaAi\nkxxSl9s2DCxAzQsI4CqaC34/gsPcxYC0zts8MJx0rAcXg+bC+6WqGt06BJeI\nlid8HgrpZpVBLeNsesWwI5qS55a+SVO2Woog1R5YCTS3qbHU6m/CWTnh6X4R\nG1ssdvsjc6KRwMvf6xn96su7sI6rphQlphir1qRC/SmqnHhctagVSvanHFiD\nx4Ut+yBUoFvZoUI8RIaVKDhhVDr0WYudoy+0hJUgA/TSEGAWJ3JZ4cSB67iE\nyNd+hq8RLWSFuvBed8C0tnihww1HJrshiYJ5XW7n+j4yMIQF73uhfOZWR05D\ntuSq\r\n=KYxL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.14.9","roosterjs-editor-core":"6.14.9","roosterjs-editor-types":"6.14.9"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.9_1533836340330_0.6034341501944023","host":"s3://npm-registry-packages"}},"6.14.10":{"name":"roosterjs-editor-api","version":"6.14.10","license":"MIT","_id":"roosterjs-editor-api@6.14.10","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"25601e65e32640156c3a59edb858f50dc092b1e3","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.14.10.tgz","fileCount":168,"integrity":"sha512-hU01JQlPQdfupQcNYm8F4X7hFgjjv9ieLhhsJteLgs0xIE8TKDRM08qRYnp5UwTqeCzksT05GBqoLm0+oCdy3g==","signatures":[{"sig":"MEYCIQCTOMgj57+sXef+AM3eiQkC1WpxBEAuoYgXjvnKngmahgIhAPRhhHVobAZoPeYm+XD2bOjEkMH1AK/adzpgwilrG+Qt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbcRyzCRA9TVsSAnZWagAAOt0P/jBMNbXEKzlGmWxF51zc\nTx1ywe1Wx/kMBMfBeR8zoe+nwnji6iLd5WDAN44g/up2lJK3WBW1H/9DwWtc\n+ofwdd36lHUe547YXCKFTpenShzaZSu0T1+B9EwtRqk+ECuZdd2VtzWHuYhP\nj80iOvkEG4UIqyQyvyDsKIT9hIMLkfbdELrHrLKdnQajAFlJe8g+vsb67+8q\nh+sBeuCyS3r7cA0Bqpw8LwZVQrBBkgnFKIfiZ2Nm698NdWeGQ4yZiLciXp8r\notV51wdkjAGbJvktdYvoS4ZmtZVUZ7I8ptmg37V8cOPNz3UgYXNJ2Zan8QF0\nAtANn8CcUVm3O+CBMdcVYMrTOvdi0XB/ZJSRI2rzSUDdORCMzqoyHphsnNRZ\nfNMtYMyDX0xPrmtZTcoiGSiemCTpsZTZKzxVyrbsyg0tMUlRBLnEgDtWqQZ7\n/hzWXqHoa4ZdsC1zZwPE5sIfTuLU5kxzYYORhE8JECnvLGi09WHOAFVnxh4N\nkZxePWcSbPaLrkrHrTUr4kWz1LtrgouKWvOfYX/lvpeMcW+jGfrKjG7jxSf2\nzud6uH8rEYuE7Qnh9oxs6A86DxjjR21Pbm6gcxKNf+ZohJjhjSw6XGnWqlqi\nXT/kzDxY2LDHMgS8wCKqc/X1SVC9YUPDIEo3EE+bWio8Q9O7ytPr/BUFikb8\nr0rP\r\n=3zZe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.3.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.7.0","dependencies":{"roosterjs-editor-dom":"6.14.10","roosterjs-editor-core":"6.14.10","roosterjs-editor-types":"6.14.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.14.10_1534139571194_0.6025333003267523","host":"s3://npm-registry-packages"}},"6.15.0":{"name":"roosterjs-editor-api","version":"6.15.0","license":"MIT","_id":"roosterjs-editor-api@6.15.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"da58d439b240aa77591fc38258db746cf1dc546c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.15.0.tgz","fileCount":168,"integrity":"sha512-TmCVv684Vbg7EfSoj07Djcni9Ybdw1GlEENgB2m6bHIGQAtfj+BhUQHGU7RlrXp+UlWAw0lq4Tja9RdUnqJ4Bg==","signatures":[{"sig":"MEUCIGb9r3jffq0gt7Zte5yE1x6NQShjarBNJuleaDUgnb+VAiEAjowSs9FGGy9PChgLk7WVgtiL9OV1OmFH7WQu0suW+Ro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkVZICRA9TVsSAnZWagAAFtcP/jFWJpI47Th1TOsJUP1i\n4ofHYyag1jKrSgrNI1rCYquNJTJez9wcIL5S8bJpyArzz8NgikP2WSNfxocS\nKGHH4F/hGyMbHyT70a0wtwjMild521IabT1VVEF+NmudsQz6Rypeknnqltg9\n2G8UdNL9+iE5cqtVSQyLOsGSwb5LuGg/9PggIpbsrsNMDLUbdO2UbNXJ+LLB\nUALX4RNSOwAGizXImye8klJ2/VV0fwe7crp/qinDuFH86UCmuRjBgKhaNATF\nUQsIssBS7s1N8vy5ptapL44yFIhCu4ariZz0MzaazU8SkOJmkUayY1I6RlcM\nB2cWhkB+QtPMV4Lz0AEb3Be7LJvv4RyE48bCvx0j0eWmVn/wAgBmACgsZG/L\nX32tSPcLhA71r7u/2pl99jSPGJErIfNkrq6RASbR5M1xqx2nSHg8o3/EJEi3\nq65FiBXt9ljqR2ZYs9rPQjXpxZrQuPancpXI5Flse9hrQTq2CnKCK+gEh+/4\n5wRHxSmn4fU5aafUJA/ow2UEYT7lEGKfgHYUp+rGZijy+xJMJgfdDAmFRTAM\nDCraWRQDWWODjhYeIAtXEr8BZTyk2PRyT/bATjQdGniNRhcCgjdJhQsJxIi1\npHbNmHRQ+R+drMwtkZpkKM2dRl0GxGoVfLVV9mLLPMtnPIiMYtWwwx86H9Zo\n90ui\r\n=g4e/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.2.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.8.0","dependencies":{"roosterjs-editor-dom":"6.15.0","roosterjs-editor-core":"6.15.0","roosterjs-editor-types":"6.15.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.15.0_1536251463468_0.3968269696691067","host":"s3://npm-registry-packages"}},"6.15.1":{"name":"roosterjs-editor-api","version":"6.15.1","license":"MIT","_id":"roosterjs-editor-api@6.15.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0f19f673e94f9cff62a23f805f2948bfa52b2be7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.15.1.tgz","fileCount":168,"integrity":"sha512-1c8LJGgbVlx4VzitoRNZKbKWDLHn8oQlRHydr/GQZ8LZVGHST2jWTSJA5HjoY+gdWEtpzR0w2ToHlm4Ahw/6+w==","signatures":[{"sig":"MEUCIQD/zm6GpLUKVY/aIQUBkmSSxmn63HlpfvWcnhcnahYPxQIgNf1F7PNrxDH2hibmZe1o257tezTYrW96Fng5XIW+gK4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmDUZCRA9TVsSAnZWagAAr0kP/0WoI2l7BlWbBbinyHZO\n47vVJoCXJd3NxBeqD9rnmf/Sh26gXSV9bEeI+90ca9BXucAB1s/e29065SMt\nNawWuRyxNgH9XMBwauIrMG0LhPkF4C3gVCpb8415561+awuPKm2cB89LK8lG\nC8FQZD5oSZV08Brg97njK3t+W5jvH3hqv/Bq3tRQ0rgQDo3h7RcLZCLq8y45\nNXQeY9q/CM4HUW6eyw8JKKS5cfM6qioSRSzKQDdPmVicc0dMvmUW56yKNtog\n6KJtMiH008UbeK+9AmQJhP/vIbHWoR1DccbfnKaSAC5WWB2XVDhM2OwAHIPk\nVckgRmY+H5fs2kRCHm9/FhaSyD1BGqXeHaPoenN9yICD4DRCfd4ylH2i/p3f\n+4E/40O3N3dnuh2zMaDrYFQY53Sorq9uQZWtXHW9LRHfT2zYIbx13RNeXQ3U\nZC8DpQwwjQ7pSBEJJj+2XDEV95F0/EBUY4/tgGya3EVZK6K+ctyMsDlrl4t6\n7EvAuj2Eqd6mDZP13baCyi4zzKrIFsdYlkubBtdTfNkfB43CMLRtlDxAwB56\n5f0lcOZhTs8ri539iMVsXjzbyfqf7IjEqAXztYWEEqPZ7XyhwMCZVN9HFkZq\n2hNaPB2hn6NecVaUFZY6q276RM80V7ZNFB6EVMqfFJd2XwItWycsPjFtVB8f\nt2/8\r\n=js53\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.7.1","dependencies":{"roosterjs-editor-dom":"6.15.1","roosterjs-editor-core":"6.15.1","roosterjs-editor-types":"6.15.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.15.1_1536701721279_0.3515724246006151","host":"s3://npm-registry-packages"}},"6.16.0":{"name":"roosterjs-editor-api","version":"6.16.0","license":"MIT","_id":"roosterjs-editor-api@6.16.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3b9ce8bf821c11b2c14c24080089d0ba197f532c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.16.0.tgz","fileCount":168,"integrity":"sha512-dWF9OZxglMSAScCWvGa4xFOpA32HpAZOZ3S/sQ8Dk2ZxLJdFG/Mu4NWC1sYS5MWybxCKlSwMU+0kQ7VvfDpXSQ==","signatures":[{"sig":"MEQCIHmini8fK5/HmYvdCDlSxp3cM+PKhB8K54N6fUnZx0HIAiA1zkjfzHP/X4dGaxe00wbpmvL1mhsniXH+h1ru0t1jTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrmjTCRA9TVsSAnZWagAA6ykQAJeoZBtlN3dXpjoWmpYx\nsCvFtQslwU3SWr6b6uzHcjwOu07Q7HzjB9F3SQQQY6bZBRmxGWRuXexKUrP6\nAmiXwOJZrmoKerorjN1/P8G0qSYu60PyG0HmjcrlVdXmSa+5g5gSIE0jaicN\nRUTC6DWtCDCm1UGvDrNtTQU4GL7zw59I39JBe8bTGd95KFBy7BgEOdhmH473\nI6+33fvBLeAoD+WYYe7Javu8mZ2kYiy7a1vCZyIGkt8DZ5l1+A//ImEVLFHs\nktGOtTEU2b4wF3ZS370+EAo4ymLsCRdN6K5YBqeQiMUEgGwQzHJvUhwZBJmP\n7MfHxiv0PriNRB/wZAUHEcJKzftx5D/WMAQhIF0DY6OSEYoyO9CQSY4AGff9\nxcnQ1issAiCVatRaGqna8TpOHLAfjGSSE74Q7ciU3Ejp6s9EbDe49yzDrS/V\no9uLqb9806hsmxty4G8s3fN252GwDUZ5Pi1L3RVXyAoos6lokycqnpWoD3lD\nX1dH5z2I6S5e3oz1xHh32GjHZTISs3GpR1ALfZqCQUJUUSetXKL/OYDaBmqV\nmYEKSLdNq6u0pAVJzziZfboWXZGj5O3KMkrtDWySU8uVindfuiFz5qDaDzSZ\nZN1dHtP/UUAA5VKYOPpR2jYdBCfp6KPIktQUY+fBuYcWPH9D+t3sl2Cek+sa\nHwq8\r\n=gz+d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.7.1","dependencies":{"roosterjs-editor-dom":"6.16.0","roosterjs-editor-core":"6.16.0","roosterjs-editor-types":"6.16.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.16.0_1538156755179_0.8090921055161862","host":"s3://npm-registry-packages"}},"6.16.1":{"name":"roosterjs-editor-api","version":"6.16.1","license":"MIT","_id":"roosterjs-editor-api@6.16.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"69929327337c414a5b5fe66ec929780345f46b47","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.16.1.tgz","fileCount":168,"integrity":"sha512-mNz+WTWyRZXpLCDrFuHib5lJkItSwsbzhmbGG40aBGHmjBzx3unritjK7mRuG79aVDYQUl0TrBvuo/dMk6QXZw==","signatures":[{"sig":"MEUCIFl1igBF2l0PMEgl/wjSP3sjxay46ia6aL2QYXPxgNaHAiEA5MIJf+sKlmQ1WEY4aGQPgMt16Jb7D1sYtChiH6z5axE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxkYCCRA9TVsSAnZWagAAiOIP/jytqOMyoY75RNazSLED\nhzHymWPSHO1sTjfFf+YlMzFFh9Z9JR1cy0JhcyJLp9WrjjK4Ha8UqGjA101Q\njFmLzH6YOkIagxlq4bIHdrItw7aqi0m44sO+pb6FRwnIgzzkIaiwcSSJRZ7i\nvsIwluYzn2QYg39APQ2YU/j0StCq1rMeB5LQflTRi8m5ibLkJuYTOSD/NgHW\n9905AOqBeYI/GlOaN6CEv/FWIuOVw/ljELgMi8am1jLV0rf9PpDzyktkIKbS\nM4nlO+IxMoDVfNfFLBQIjW1tmThaC2s9g9/mCKBGkAD97lF7riPcGAzuZZjq\nAMyL5DdMbWxVYnLmEXZmeCoD4q4uWb7/lgMnU8+w7RfYjV7auclO+8X/YaLw\nXgfeqPGflwykoh6SjfdI7WGd+79dFZJJQojkYBrlMsjLJ6HowqCADqu+Fhew\n9sPz4zE7PU//CrSKD42mTQZdAtHTdJPFF7TaWVF9hZ9iT8618O47Z0M5oHd9\n5XIs5BChVmLIzL/84lf8u7RYNH6c2xDcNGriIEGnelDYc4TE2EHCi0C467he\n2ABt6iHqRSMS9sZVxlJYIoFdOPYKHoKLtGYpXLBsAB8seA0oHePzUOhbGo9a\nAXhzw+D3tmVcINrsM9M7H+LZk5J7l1noTd61kyK+dKdrM/9aKvlWh7vUEPcf\nGxtp\r\n=e2+D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.7.1","dependencies":{"roosterjs-editor-dom":"6.16.1","roosterjs-editor-core":"6.16.1","roosterjs-editor-types":"6.16.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.16.1_1539720706089_0.4069729821332737","host":"s3://npm-registry-packages"}},"6.16.2":{"name":"roosterjs-editor-api","version":"6.16.2","license":"MIT","_id":"roosterjs-editor-api@6.16.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3ae7cb06cecda65b80c8d9f98d487369ef24f98e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.16.2.tgz","fileCount":168,"integrity":"sha512-9LKfcGfG8HZpzvqTHTzp0VbXw9oBwSHKZkc5ptqD6v0OT0sp33VRSip/XcaFgUT/NpeEgUQvQER82Nx2G0WrXQ==","signatures":[{"sig":"MEUCIBunW9TjoW3muLQJFZZWxZ21wvq2541i3NOXvicmYJhNAiEA0U6hT/B/UD1+QBd1I5qa8MbWlzHEpfV4VI/r+oFsjIE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyO3rCRA9TVsSAnZWagAAQ9kP/jlnWgJJ6c78ESHtXxJc\nZ9/zMJMODiPsWQ59V2zSxDlj7HAyJ1wO5ekqMCcKBCrH9n5Ou/Oha2lkmAyw\nmqvCfeS3migL6HqwQwxx5+43W77D1+hjNJmz5Tt14UNQnxxTUjmxFiyNdwdh\n222/X81mv9QuezY5K09yXX+oF6uGKYP0I7uI3aL53i2wOYwEiM7ZUomG+X47\n35oL/ZZ0fhyzo6qGrXY5XDoMSNa3cRltYtaMEp38NYbNyJrYxGNE+k6qZszz\n7oO7YcNUC2Dodjg+wMDD0Rpfff4ToR7CWoJJHUXJ1Mx6L39uHNJMBZfU5MCr\nLHp9WJnrs4QPojkJlpmOXNk8XxMHRr3GPi0vqJjalpwCNEtpLM8BySwBAATJ\nVQCwK18rVjxO29a3Fn6O1QiIBsvBXTlIVlYdHoERuqR1NNnFdyHGopgURc1S\nb5JBpOCw8BPBHhWnHExbhS8qDQxDOF/qHSqaqgmHH/CPlfYdDnYrr5BrzsYr\ncCjBKAtxqYWaVgPX6IRV7/zuX5PrHHkAHdyV1nUd1Cpi193q3gwgj6TLqqeI\nPvlZujsuxldKXsWa66EbeYkT0k6rcC+6bzoAJVp+HKTSzYJ79S53M7hlDmOw\nihokOaRrAN2IwmfWDGzkqSZhRhPlEYPw08HrBLCve6qcBzeo0jHVSQODViyM\nbYbg\r\n=LBY4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.16.2","roosterjs-editor-core":"6.16.2","roosterjs-editor-types":"6.16.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.16.2_1539894763163_0.29290819983862826","host":"s3://npm-registry-packages"}},"6.16.3":{"name":"roosterjs-editor-api","version":"6.16.3","license":"MIT","_id":"roosterjs-editor-api@6.16.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"778f566ac33373c409ae11389fb2980328e975b1","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.16.3.tgz","fileCount":168,"integrity":"sha512-dA6wnMzRd7ddXkmKt10mn0D/bOQhJiqOD0rQuMvyMxGiyJMbaS6jB4og9uNP3jV1lCVPQNcrwzG2WnivYqbObw==","signatures":[{"sig":"MEYCIQClLwCs3phwtsWz9dQkQ/qQlUNBtYM7R34lWeqjPU+sLwIhAJRhfYFAHD9rj1sHkyJ4MQLjbGXqxVr7t00oZ83vazqG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbz1gTCRA9TVsSAnZWagAALSwP+QBO98N/IWjTuJPWd/3o\ndg4S5wXtVlUIMPN0HUV49UDSJ8StrdqBkgPERtziHd3vu/CutyUx47Dk4lxW\neXmAHZeGLBZyWzUjYHcD4oElAmr9rLICsStm8n4WY9voulYgMNYmiLLFB7RQ\nW1ieoE33n4O41AF0UAYHA1NeMIVGOhyTevFte6nhonnopc1GyaMwA96dUKev\npXB1eQXVLim7b0o8cU5SbZbs9xyhDtdNzd3hWqlvjPKZH2WFulvQeZAjiq7Y\nxXEmShtgfHS/zOPsZMBBLjKHqm68zs7HZJlnToxNvDAd3sYAju6NqL3Us6t/\nwedKn48GR1kNw9MS+i+MN7wAFffx/GSyJ83L084pCtvTI/eoN5zKOdHvh4vS\nlSlKV9hM9588N9YE2vWxtubnrSIogM6zAN/83y6KIIQBkxinCI1YAOlqLdnG\nBamDEqv91q60eJZtH5bzwcuOekZ1ViEQgh6M0rV4ADFMPMGKh06q4ze2jrUa\np1XQponqDZhIurxICUZ7VM97vJsjWeB6B+rXboop/fYYq/B8LAvXBw4k6F1T\n1lNkaUT/qC2iezLAdbrVLXs4Prse7iDtgqymQ2UMUB2FwJWkFDXENFh8dEtA\nA1TcdmF6nIy3pZIqXjvd0NvwzARWsZ4lFaMWTbAqKdXzOLMFeVbE0KZz9nv/\n4mBR\r\n=rCI9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.16.3","roosterjs-editor-core":"6.16.3","roosterjs-editor-types":"6.16.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.16.3_1540315154624_0.9509319357547368","host":"s3://npm-registry-packages"}},"6.17.0":{"name":"roosterjs-editor-api","version":"6.17.0","license":"MIT","_id":"roosterjs-editor-api@6.17.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ecfa40f3133c0cf352a9c79eb66f34cc4fd14c9f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.17.0.tgz","fileCount":333,"integrity":"sha512-9HdOuSF2QHXjzIxMPddADz1/KQLVPkmZ5VQ7ssR5Xtm1fDbkWq3BLN5jeEPeMRv412heVU5kREm1z425aw67eg==","signatures":[{"sig":"MEUCIQCukVj3f2QuTznf48AQReY2j8nO/Lfz+r+C0OJJxmWpdAIgBUwcr6lCtotRYrDO7zu5n1CvEmQMDUjwvtGBOJgBEBA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb2eWiCRA9TVsSAnZWagAAMV8P/RJ1scBfYzA8sh6Z5HQC\nTTd/KjVGDh4qVw+BUjxOYfXIg5lsCHFBHbt4a4x+cowE6nYsYY6AQBV3JS7g\nVtf02Q4znmEp2xW47kugZRY26v3IH25lSf9ktAfo5R9zFIlPYgvLbcIFZuF/\nqHTX+rO+cBNSKgr6+h6MjfF3YXhrTUqM4jpZQeX+CNDQDCKJJJVp5IqfyrjG\nr1hizUiT2SvRz83gaa8cDeDpK2oUIq6y0AMjCs5vu+8Ky8rtCt76jCFr8tRh\n0STvb0trpakbOiolfz/vMucxdkVoBb2Djv8sjKsLPvxShfjURak1ZTCA5Nmm\nph6RWsGd8q+E7r05W9OUtOHbledBETl3PYR+1M0hGwkr/v2/Xby9B2iwCxuR\nIWWV6sIPrWG3Gw4AY7vvoyxksYzTZN4uUe54uXtKXfJrfrqT58nOs3ah/eLK\n92FlGLZ/HAEBgg5yWcMN2sumue4pSvOIdVc3Or34Sqe/565UtxLsKhz9BI0m\nei81MFUOFJn0obPYLHZm3d3Td4hJGbu4UzAtRnJEq+NhX9GO6nkD1rV417K5\n/f+83LlnbeOe5oCDbAs5hQjwZ557fUjvuHyufdhWTI4Qz6Rg9bcVtTGXIUcI\nSPEOOcjBeNqjkmG6ekt0GBG6op3qvgczyyW5u8VqtC5m8APsp9HTJHxQjrN3\naYBq\r\n=kdh2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.17.0","roosterjs-editor-core":"6.17.0","roosterjs-editor-types":"6.17.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.17.0_1541006754199_0.5887039717876115","host":"s3://npm-registry-packages"}},"6.17.1":{"name":"roosterjs-editor-api","version":"6.17.1","license":"MIT","_id":"roosterjs-editor-api@6.17.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e364274046b8ad6c0c0ba7340d9666017a61e25f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.17.1.tgz","fileCount":333,"integrity":"sha512-Wf/2vKTSfTdiGljcKYwwaKScyLGYW9W7r6c9ZDRpgQhh9Dj4N8fUXmcYtorM3UxOF859tRpfmuDpWpwM41Qpag==","signatures":[{"sig":"MEUCIGlNno+ZJ6fRTGfSzhQuAA7l91VDmDOjgA4ddOWkrjPkAiEAxCIgOUURpX46wJ1SAxuZaZeUgKuZ1p3hq+wB+lLyLeA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3+hDCRA9TVsSAnZWagAAuGAP/1yNM0Ozzq1wHQbby36i\nDABAoB7yrkLtVO4Khpy69Hl9Fa9xWGg5m9nHiHEmdpLt0uL/UqG0gouzEpp9\nV1yR2b1x/dLnAM/fDwvAM1M0a0ccXrvL+moj5tduRb0ZZi/tBeu4TPQbpgAl\nK/JGWFsQ7fnxkwh5pWT99yzuL0wXCv0Xf6GXrww7/IMLlSViTLzfD0DcSk5x\nJ9v+C4B3IEHflDOvVZL2yP615q7GND0PtkuSRER59506i/5PPsezg0aKjqZu\npgLw/5gpDFBeJ0YAO6nBKeBbQktMg36fQ5W6EjBVvojhm9hJiaerlfj3SbG3\noRwmFa8sFsWHRfUCOWKeu4SnLfnXSg1QI0/hUs9s0jDwfgyOkFXXUNnRDY4r\nWWcMEUqJrT0jEe/ZdXf5TAxdyVav6LYKlWpiE9OdQNTu6FHFaGZVye08MHrr\n0E43IbvLxxCekCL3ybBvjbandDGqbr2l+qWb3Vlltu1a4IIMxTIxmBB+0MFM\nQLsKIAEAuHLyv3LAVZdsnXmgnYm3NcMZxl4cNobX5BP/aDqDzqfw6YcBZVaT\nRVMCtmyenDarsrtgMdHbyIcKs/NYRb5Iyr7p08Q1dUtqZnpeoxMLYMMB3brV\nUMj/55IZhh+71cVK9fW2RjWHg5VU6alUPzfzA2JQ5hsVxtlE0LHNL3A/cLG0\nYeZP\r\n=5erY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.3.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"8.12.0","dependencies":{"roosterjs-editor-dom":"6.17.1","roosterjs-editor-core":"6.17.1","roosterjs-editor-types":"6.17.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.17.1_1541400642548_0.9499443126390432","host":"s3://npm-registry-packages"}},"6.17.2":{"name":"roosterjs-editor-api","version":"6.17.2","license":"MIT","_id":"roosterjs-editor-api@6.17.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"604f8a8e6e41148787ae3a05024354ca5b532683","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.17.2.tgz","fileCount":333,"integrity":"sha512-esdei97UA9HlJIpbMXEhe1os467gv+nToIpL+h4N+DdNEjiWyTc8KZ8wJ8o+0lgrhS6rQSMPnwtSv3eJ0jeM+A==","signatures":[{"sig":"MEYCIQCset+xxI+5H6fkpCrnFAos9XLvdDuOdf4UwYlphWGeIAIhAKHI1vt3AIE7F0yZXy70BPCqbWlYmxJAWV0MQQ/5h9QS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4KKxCRA9TVsSAnZWagAAYR4P/ibFZBYN8OBy0bkCz5kE\nGemTAgTnnmDQiHO/+Ln6kaS8a9XWU+VOPwDqcbTv/xa92WDnETuOa0uiMLa9\nMuB1Q6Z0Nbew8ep0N20WlDniIRW9Fl7LuhNomLfVigBg4jcA8azKgL1qte69\nuEWxOErsYMp3nct8bLKMcJhhj6m1AKnmzre1FBmx4ZVRXgGBEp2bgYUH/2oh\nWR6iVxgwob2iWmnidFCA2cd1A56cdN2rUjjVxfc9YLdFO+QDcEnmmTN1HJLb\nskUd5u2F2hOABiv6hJtZn0h+iX8knjuntM3mag5S3UCl2xos2CqA2Lkwhp4O\ni/EVW0LfZrzObddgifhINjA0mHN174BZGT9l7nHE4IM4VPrumz+K/8VoAkf2\nqEzERQlQ+YEFnaUtBlFuMhzv20B/fJBXh9NY7igsDzlc4Zedf2ztD04il2pp\nZ1PFayGAbRNV5HuUaA1p/NdU1reVUGXHlyze35AAwR5XeEUVOQshVFsyZ0b3\nEuIGK56cZaL9p4NcrghRuT6FRW6LnqGM2DQ+vMJ4gGykXjH/LF4J2QU6EPpf\nVsS89qWvM6IaYEaKgqrxRc0c8CUqVNg+IO16VbyLrzsbKcNOsX0xeFgrLVh4\noB58FEBNxT9iAJ+x2wXWfonpypvoRzz+c+/7hbh26aWA0ju6sFBs8e2LkUJD\nqcXn\r\n=U8yx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.17.2","roosterjs-editor-core":"6.17.2","roosterjs-editor-types":"6.17.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.17.2_1541448368453_0.5495544543818625","host":"s3://npm-registry-packages"}},"6.17.3":{"name":"roosterjs-editor-api","version":"6.17.3","license":"MIT","_id":"roosterjs-editor-api@6.17.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"613da02efe3242aaf3ddbfaa16690a7f0b9bdc02","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.17.3.tgz","fileCount":333,"integrity":"sha512-q87v2JbxNVvNzUQkLmCXhRkXqMjJan+bAWrD8766002LREzEBqGoHEh2+CeQCao3sLZF8vtrvYOJYw5ttZBybA==","signatures":[{"sig":"MEUCICnWatge1OkOy+8+sjBJqVP6vJ9/FO5CjXyrWtjuO/4yAiEA0p/493IkCiDgk81yBeh9HcNAJDNe3kj6EWNJYKDLFC0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9LAaCRA9TVsSAnZWagAAYykP/Rxb2tezZMrM//pKIGru\n9qmz2c3Ev0v0GkFo7wGn8XqjF/oujnh35dovYMDB5bxP40Ffm760JPjLtTRJ\nxwgxdffULe+75cW0v6oG3OKqn94GkB9Z5WwWdo3dWKni+zzS98jNPJsBkkLe\nyaXU8emWobSPIooVAV3oEEXhMFQbi2CVANIsyZZsXahBlQpypiijuyWc2Htg\nY0jHBZmJIRQQmYRZJAm+kE7Rn2vqI7Gl1wV98PNya+mVOogARhfjDo2Kj2Dx\nMqiDbwsmpW6fWqOOHxe2gd/II6V5o/Lg9GamnKxhq8l/IwhrtTd6xQO5sgfw\nfY9fpmDoR7bq8TG2iU4R2Rrwg0472IPVhHJuutWGbStVTexOfZO7IEsBfs3+\np0IOZ+Ts8wnJgx98KZ+64LyOYn/bKelu88XCiX/ALbO4r/xjn8iu3Yms5afB\n01aQPHp/uq7F5DrQ2TRrMBihDDs/1AGzVo9tBCxEDGZ8mWDQNgvSPpbymmP6\n5Yougmuy/YVMYY2PEuRVp72aN3qSgu4IjvaxIkcE4HsvZbBfnWQ/CdyxwKIC\nj/wOI69p3cJ0qe87AdXl9b2F/i025jusK0n669bkWVwO8jNPzSxBU97127vK\nZY58iLsnQjoandQRWwN1o7VLKfRCTZU2O2eo7MfYgTzCJT2lzFLt9oj0iC92\naKvx\r\n=pWum\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.17.3","roosterjs-editor-core":"6.17.3","roosterjs-editor-types":"6.17.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.17.3_1542762522029_0.4078096830564706","host":"s3://npm-registry-packages"}},"6.17.4":{"name":"roosterjs-editor-api","version":"6.17.4","license":"MIT","_id":"roosterjs-editor-api@6.17.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"58b27378d1041e26eebd932ebcf0ca52bb86b7b4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.17.4.tgz","fileCount":333,"integrity":"sha512-aUd5dzz9TzKQTqjHMEAJed30yMGN1rJyNTijmnO/3yEuLZCf9GCKQgZ9z2B1inru9vvXRQs6tSI5gNtPA+4dlA==","signatures":[{"sig":"MEQCIB5iT+xaVAAF9DPXplfUnErrQaxR9mwmtvO+GXzFtrUKAiAdHlVxbn1/BSI9T0EIbpvo7so954qYqX8KRXpxujCaJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+5/fCRA9TVsSAnZWagAA5ukP/1sOWCBMQ57JdMrDucOF\nWwU7C7x5Sb857KS8vozYzA91qsc6UR38PmUNk1MuDrPXOTIfjMsWJCTDj7qO\nSYOpgPklzUYeB4I0lg6zZ5jGiINu/m1lG8sUASI/b2RjIcBfDPbRTUfub7Lg\nbFw3E/ElKhrc8fmxn1M0FDbsSqTgfDR7SK2u4FkN1TCRdfPRICga79D42116\nuCVZMe1xdkqmiHGlHPxQAeoLQe5K0jI/+xx2VfvzsslEonE9MDPrZAfKoaFd\nTdVJK8utLbhLe1p3StW31XBEaFTibTBAcFzdnPMOnECOKVty7GnjnOiFtGxk\nQ6qJOYC+XfCrQqu0m0OYihBJsj2CV5j/B3J02822M0AX1ccsRaNpN6EKcF0I\n3tgbpDZkmZQIhV/y2p+Vd9usGmT6L/mU4GhZE6Piqpu1zegIXN+ztqlOIUfN\nnVmBjDuhieEJ6CaTQFvSN9rfLwUF6Sy6EuJSNgMySCAqqVUYz7eAEkHJ9cSo\nl2Fro/u4CYNKw50mc3IsjqbXtqEVL1+drtdESOXwW6a98mscTNaUxBGqnVvB\n4yTkS/H1tASJU9ckbqVqLVE9yF0cD4ywoZZFj5dU/CYGoIZSk1keacxpleJa\n9YZlzBXJj29giClkGxtQI8ggf0H4rI1QMSlbpWUZL/TCYhpR7/CLpnSpKi8W\npjHN\r\n=JRtI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.12.0","dependencies":{"roosterjs-editor-dom":"6.17.4","roosterjs-editor-core":"6.17.4","roosterjs-editor-types":"6.17.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.17.4_1543217119202_0.043511632164312974","host":"s3://npm-registry-packages"}},"6.17.5":{"name":"roosterjs-editor-api","version":"6.17.5","license":"MIT","_id":"roosterjs-editor-api@6.17.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"889d3ec0728d2b499602a55f9e24fa2465d5678d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.17.5.tgz","fileCount":333,"integrity":"sha512-WNhw7kYggEcMdVTjjB8FJFwDZvzSanMiek8t6p5MHDqkIbQUffHRvPHuyex/iYVF1PLntG3WShxcF/7Wdssx7w==","signatures":[{"sig":"MEUCIQCMGYaMSP3yghmd7w3DPa2DdnCOKEbuJPM+rCuh3phFswIgLPZhEY73EdBETSyf1BOkE648XZoWse65vQuAKCvaEe8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/w9xCRA9TVsSAnZWagAAn7IP/RJsFXFg+Gexqf3O8PTG\nI/GrdgSBFZpD8BpEDY9DDP2A1XW5/VbUpc7sPzxZrn4/mZX2a8uHgVXgtvqU\nXKtztbozyv/v1g1aExsWPiAnDOtBq7Y73/9LK2JleZenqr9+84PpqeB1LaEE\nA8h4xgcgjLBNJXcXcdE70HUozd/+1CjZ60e14X6rCnkPV1f81OQvkByduij3\nGyhUMpb1AD5nRBZ2jMqF8mT8cwJditvtLRfHQpuv91kFCuTM/bS1xa2976ZF\nR2KeYCgo5pNkV7QHd47WNx05AIPwLkfuecAuUwBfH+j1C0xcZFyZsZWUXdL/\n5aRX7ZnRcMkqVAQsdJfweM32wcC+D4mJCEn0xjR3ijSzBL6O92og8FUyDCHq\nPpXU05F31wS347TbVA71xXp/XLIaQMrg7Ezyii/4h/GulmHGFASVU7X/Z/04\nKvf9vsTaeN3NRc2ANx7taAHBoyMQBep9bwyPBwwiT9f8MZ8ihSHw8caLG1Tv\n7SDUuRrRAqTzp7iZVFd186F5Fx/DxrfaAE9ijxiQf8bS0iB1Z/kfvjCjhKIO\nPmVN5jvuuDsXDgnp4SGnsyRTD1bPG1HbfZIoKuqQZrpOoqfPDBbKQB2WcxuN\nrOlm9ZTuWsFslOiwN2wsjHW2C1U5qsKAyhixuGsR9jwupCzs9PT44eMOZW3u\nTUZV\r\n=ZQuE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.17.5","roosterjs-editor-core":"6.17.5","roosterjs-editor-types":"6.17.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.17.5_1543442288918_0.05236375078956179","host":"s3://npm-registry-packages"}},"6.18.0":{"name":"roosterjs-editor-api","version":"6.18.0","license":"MIT","_id":"roosterjs-editor-api@6.18.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"151daaf06d36c874e6f2e67f0cdca68e39405d5c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.18.0.tgz","fileCount":333,"integrity":"sha512-263WeWhcE8OnOMiGXLu7Phk1bkICXWCIkdIIX4fZkcS3WdHjyUaEKD+STInBj/Gu3mI+XJeX9IagwY8b4hhJ8w==","signatures":[{"sig":"MEQCIDHo+HCIJ/dOgzOZEjQZkRpkbnDnDESBzFNmtRUkIjRNAiBvzJWIauOaWKUufRT+vQqCyEF7LDY/M4RLICBXfnrJxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcAb/2CRA9TVsSAnZWagAALJEP/15svCm/jDm8NcgDCgbc\nEQVk0JREbd8ISd84GWYzvA5JD38W6wKksUOtFwqXGl+IOXYWNh/QNH6S8Xvs\n8Npd+qfrljLgo8vESx9TcLT45ZoYLYOKGpXw7Xx+V3YbBaC5l7Cfb1/AkD5m\nxtHRnZjRX7Oax4Ebv0eOM/hoRUA6FMYU/rt+jo3GxeWb8r1MEL22aKnOo48F\n24/OcGYVYVy/33u2vTMB8l4Y4TdJBjK/y72k4OiqoOGIV4JfveRfSxsXPTeT\nGI0Kw61pMYJFrwDr1/cdh+drxcF8ITlTjyZWEK+MJQs5fTE/o8cVEjh9rxHw\n7Kvgc9P4xamBegrvyC3chzO/NFfKy6UWvluVz/L1PQD5GQJCdZZs20uF5RG7\ni3JksSnf4sUy0Sx4T01DVQe2oyMVwk38bKTST7fvAAYbUenFzCrp0MZXO4NA\njDWHJqr1RR5/gcqu8UkNqeVYDnsv9Wsj7LT4tvge9AaWHLNXUKoAGd6rqSXz\ncGYPnB1FjsKXpn6vKObiLqAYiAOfZ/CulLXU6IcNSzLDIZud2h0B1yedOL7Z\ng5CNy5afn8HMH3YNnn3Q8D+P5qxwthDhxJJ/r9MfYpUtA9BMrgl9xZF/ffvn\nE3tg6WQx92YHW9VcoNkWt0LhBzwRXj/R4+ivKOLhxHCYD0m3lOO6IuFMDpSH\nnOgL\r\n=o7Wq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.18.0","roosterjs-editor-core":"6.18.0","roosterjs-editor-types":"6.18.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.18.0_1543618550028_0.44329509501122577","host":"s3://npm-registry-packages"}},"6.19.0":{"name":"roosterjs-editor-api","version":"6.19.0","license":"MIT","_id":"roosterjs-editor-api@6.19.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7794dd2155d48fa742986c0df3399bfc59e50b9f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.19.0.tgz","fileCount":351,"integrity":"sha512-wcwBeobd6AolxD5LbdgVwT1q1mEjbukyPlI/yrkrxmSMp/YwubPsY4fG2tO8mi85+qUKbKUnwfhU09yYCqV7xw==","signatures":[{"sig":"MEUCIQDnHJJ0K7+oheUkLpQO4ZRL7KxL/1iIjSAYxZA3WzmPfwIgK01YYTHaFyiKWtKkx5FlMbrqUKw37rfrDzDDfUb28KA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEXPiCRA9TVsSAnZWagAAOM8P/09m8Rf4ykV+UsNRn3Oe\nvuRiMfIipPYUWvIVAzh4bY6/rALbwDwRivkkcvfMgvXscvYKlYps+4ERoSfN\n5VZ/qvzIVTwOVGBf3Pa414F4XbaAIoxupDw/C1r/7hGQUFy0LIyAwAmxQTCn\nPSvMnYih6nHWtRPnQwRKhYkHsRxAuM5WuYcvq+3dGQEAHqCur8pepIrj+V80\nD9rAzGD+2NzoT15B0KQgCasWI65fVbQTwvMeV1SsIbrpoPXfs5ErkzVN9wIF\nQ/fsRFJA6ayb+gdvKbUv0sTW0qlqeDJak4fX9a+fHx3G9w/WkJxGkwD7FOgQ\nHJUH+qx5E6xtX+PiiU7Y4+gtIn/11nj6S2gpKNnOHkVMx9OTQG5Wiri6ya5i\nKJfkhCEXmKfmfwnUoT5klo12pzZFyM1gvd0bQT32WsfxBJwHct/rqT3FKCL9\nqCML+IHnz4R5IjtaTiQc+myIkWpxzGJqCdEOYJzhuLgWvMaZN4NWLwtMPMlm\nodiDViqpUQi/LiBeLmWwlxO/wMSeuVNwmngriOgnBKefJoX3hskGVSTb33Sy\nPjPM4d/g4uK7Z15vT14aQIW1Gd0lafT3HHxHmt1y7JN/E6v1ZVp9P02dbtyV\nKJ9+IBwIKtfCf11w9D9XQmsDo/j+FGlyW2HNzWWngEJw4bsKComtmqB/l0AN\nruBc\r\n=IiJT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.19.0","roosterjs-editor-core":"6.19.0","roosterjs-editor-types":"6.19.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.19.0_1544647650082_0.6850165895322828","host":"s3://npm-registry-packages"}},"6.19.1":{"name":"roosterjs-editor-api","version":"6.19.1","license":"MIT","_id":"roosterjs-editor-api@6.19.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4f5546cd2694e050689f6fcedde06b445b1abbc7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.19.1.tgz","fileCount":351,"integrity":"sha512-3xdN1VXihqnnIL0MaU9cY1FbBAZI9XWL1EuzxabxtkEv202jr+4ESJJ4Jf2tZyZ2d8eUIilMPF9XhFuPJxgDkg==","signatures":[{"sig":"MEUCIQDRuFOj+6QL+IztWZGjy+xXfkcrybblFc3LFvrbqzzxzwIgH2OQISdDECJoRQ8kRT34gN66obNxLFiwjXGY0D0XHgY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEZekCRA9TVsSAnZWagAAMQUP/iEbUiQdCBZotvLTVHjh\nPI3XZMqt9OrXaXPlZ/Q8OB6nvel4qQLLJXLtB6ZDPT5oqzPsf9jCfHUXVEFT\nHfBAg9d/zNuzbo4RL32mWSFnMbWl+i3XlNyO8xdEHOK0KKf45TYHe/A0KfSh\nfbuooplZcdPu3z5L8ZXjJNIz1f/F6+xMac0TwdkNf4Sq3UWlcliryVO70Nrn\nsvMTL2Pi8Kjgs0iOhsJ0+2isB67uYaPQCKmfjkqGZEE4a3ArgD7JM0OhnMNh\nWbRGxs3RmazdqAZa2VAKyF8+bTJZZ2rAMumHlZ7dxwGYRMXSFv6mAtnkkxZp\nIjd/FPTydVveWHez+EA026SMvVHGFeWl9IZ6e1005UysYjVnE1ChX+kd5+HU\nybMuJx97MwctO+8wWgXj7uA2wu+Qp+GuMw33UaZ1zlO1IWsn+D5y4Y6GRfwH\n/AOT2+7upIhLzIRyxUPc7CF4UeqhSuvYepaz254Rp867tGAXuc40aUSNXBRA\nIn1OzUWSxfSQO8Fy19hEhrawaEE/dvvhuvCfj9Jo0ozAQz6S5WiseVEfMJO1\na7g5YG+mndZL1IuebEO82kc9Xf8suc1wwmc4qaiajK1mQtYTqa4IJBmw7CYT\njqg4aOrn9LTSp3j7v4vNXYgTOM6lC+Ervvsv00niYPRvZnp+GeIq62Ik41d6\nQoUY\r\n=U/Z1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"9.5.0","dependencies":{"roosterjs-editor-dom":"6.19.1","roosterjs-editor-core":"6.19.1","roosterjs-editor-types":"6.19.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.19.1_1544656803335_0.5094956250529838","host":"s3://npm-registry-packages"}},"6.19.2":{"name":"roosterjs-editor-api","version":"6.19.2","license":"MIT","_id":"roosterjs-editor-api@6.19.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ee557de90c8cbf4fddf01f6b11d6aeb72d83a5a8","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-6.19.2.tgz","fileCount":351,"integrity":"sha512-3WqsZx4lUm2DAEMfu+wmG+b9yE1hYDbMEt7TAYXr1/nslgGeb9tbOu67PwOX96+wV9jwi4CaEEhyMQHUhaQyaQ==","signatures":[{"sig":"MEUCIQCQTQdNgcyipHRHU6QSieP0hHLyeBbWdHrEWDsJFaDY8wIgEgxI5xcFDfdo0a5Yu52g/okSlEgRaIcYkNY7jDe/QrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKrOmCRA9TVsSAnZWagAAZqIP/0UPaI2HAFy6GH7ArTSy\nv4pPnL7TQeRZotjhH699aecOWPte/7PZWnTDYMSNKZzcIRZjqiksM4hcuxsP\nOudz8z5isG2+9FwPZ17HrNC2JxNEaG7amTMAVpBTldMakemPrIg8g7nmiAPv\nDdP+9HXHxqqmGyYiddYjYcj6tyiwojKCNYS4kgvftgXljxW32qO+TaH9wXkr\ntbGYOZ4BphR1cnBOFkv2IPPbZ/j+/+VCnAfI9wRvm816Jp/pD0O+QhQRALK4\nVHCPduLBwq8bPJDHrBBN+dXGZx1XcMWMliXZj6CekvTkouIR8ex2pya/gJUf\nm/0IH9dLe1Nu7we1j2az3DctSTtqtVdpNJHbmKUTnQKrQqDWbuR9Csf9/Dok\nfNHL0rNh3knd37QIVRX/jy4eRG4kJ0zq/xXp7AABl5Ba4JPF/pr3jeWH/UUG\nYdabJ7nOCH6pqlGtkZbLsqIS12hmxlI+Wd0RJZZIpPn1YFDIngFXt1SqMBYS\nYsfmSfkYvKDbCYKWdR8oXFXg7UCLe2gvXrVghoweAGse9ZE58DRCiMFIxPPq\nKMGWmgUS7+dte9TkuVnRHq9LFQmfb0k2vnM8Q/aNj+6RNKSSBcUVxe8wmxDp\n7q/XjtfFw2xw/GeKqGN85pFMpyekHeZMSRonhQsqliX4/5gLIdjoQBiRgu8R\n763O\r\n=2nYF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.12.0","dependencies":{"roosterjs-editor-dom":"6.19.2","roosterjs-editor-core":"6.19.2","roosterjs-editor-types":"6.19.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_6.19.2_1546302373332_0.6271967954032811","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"roosterjs-editor-api","version":"7.0.0","license":"MIT","_id":"roosterjs-editor-api@7.0.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"5c8a040a750505c7c8189fd463dc13819db658a8","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.0.0.tgz","fileCount":309,"integrity":"sha512-g4ZgFnicJp7CmqOPOXS0iumhAjnqfX75UA84LH5sUTM9RO5VoEE6z27rvQ0ioqmEz1Vz8+r8J5WItp0JTrjFwA==","signatures":[{"sig":"MEQCIAxscXl1kETr3gMplRIrb8JaLRvYPT1euIRx8RQFp/tTAiAGVgS0CSMxXxmzkGE8eGTb0GeBm9XrovWjOxntPxF+0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":374244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNFTxCRA9TVsSAnZWagAAy1kP/2PcgV8U1YSrScQWdZ1o\nVbsApjbj23sfbDIp07AiDTFSIOOFR7cImwtT6IAJZaml+0bUWOJ+2+wRjoEP\niMNESfUSsKVwQaTskO1/fHWsr3VpKPjdXn2sToYkUc45aqnIxKM9dfvLXW4H\noC6ZSNmc9WltpCqQouVhJ8kgeRHpzPaX20FxuIpA7PCf3i2PchkKlFUedQqR\ndE2oDpw+lZJLydjB4jkYmLa7xPT2bQeD4pSIAd8Wgv/vt/rvCTkUooLUNZZ+\nPidNNlG1jPYtKVHaLNpg+L30gUQ/MSzwWUofp0HLIO44p4e2oYozqz0F1Q3A\nsoYSLwK0afwAkIsdh3fL5GftyQQPjREPUim6gu0buWzkrcklg9aDR5MjAz3E\nk0Vwc8jsh4jcJlH8ltICr8LUnf+d2dDPgaV742s+uKZEHgt9iWhINgIQgohv\nHPPe52uh/YmLArJ7NxZn6FYZxVTizxS2gwX8wdhqCqCwdRsRLUFCOGH6jn8F\nhBhuFcWF5TMeaRxTT2gn/aJs9+ydGQRA/+hmvj3kuHDs18bBjXZxQ40Fv7tq\nUa/3R6soeqt4zsc7eStQMcp66as/7CTZl4KmBSYtPxWsKNmZIIkq98MclD05\nGEbOGPWLNC/fyrJHBuell0Y30bIYa3HTxps8W4yAOhaifICu4fyEp83z1NzO\nJl2O\r\n=HyaH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.12.0","dependencies":{"roosterjs-editor-dom":"7.0.0","roosterjs-editor-core":"7.0.0","roosterjs-editor-types":"7.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.0.0_1546933488569_0.43897287379089556","host":"s3://npm-registry-packages"}},"7.0.1":{"name":"roosterjs-editor-api","version":"7.0.1","license":"MIT","_id":"roosterjs-editor-api@7.0.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bfbba61711220d7bd345dd76f61c08925d261f28","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.0.1.tgz","fileCount":309,"integrity":"sha512-zTwvuj/7z9fxjVGMKJW5CzFOqP18pzvzeaGMkQFBKubr2KUCTg7jl9AKVsw0A894g86q3a+ZYcLSK7eNlag1TQ==","signatures":[{"sig":"MEUCIQDAtB/IvJdNEamJgtVl5H9TwjyrKvj6FDgPlYVu6ULWbwIgXyNw/Jy5UY9B66UdC3NjJW+Wo5JsG09vhMxUhZPS+O4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":374244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcN89pCRA9TVsSAnZWagAAeiMQAJB8s9inNhwnlZ+N737u\n1hvnT7fk1B3AT/U3N/zjokzUnS/TUBooK0/oF0Bz8HIt5ROe9NKXRX3R8RC7\newyyiOY4oPotF2yKNBvczzwxT+DlWWfT2PQoIwgd2/AiI44gyUSjXcmWEhLI\nnJ9TbtBhbjd52LCQdA0sAcPLYRMzYy2g/i8U2MpEgZLSHRG0q8moRlGaKJi5\nY4NjYEOnX/fZ2bEXNDGa8s+hf+ibFx4iFPW94Wo51Yi6cDyWMAxR1hAypMZy\npdcokMZPgRTTJLimCiWRP1XHKJ4iXaOgirxC+uI3oU0Grbe0OIrYEX62f3NZ\niaBtrEwvt6Y8SBy9sOMeQXFIcsv4rX8hdvu5nuGlUZhBC/VOufbvmKZHvmuH\n0HRel0dkVKhMbYuTPSxyaSTW9w/CjKfgDdsqR8fiHJUQn3bmsI2ADSHqStqa\n7+SpaimMZ4hpdze74GZ3s/mXi1WkLr9oBa5IRNc86hD2lrK+71Cw5NAZVdTI\nMbC5QFWWZ95AvWE2vISnE3KlmqtyvvPgFdWA/kBo4Ej2CUKy8N6kBCj0GCUf\nUIMXNb2nXliJeXYA9JmIhznwcDn2mNJMegS8cNuGzv7GiCrX22M3JpJdku3k\nTM88RiNUJirsJZdUTlw72AVuz9u54aa7o7NZky6Zk1m7qB+cbpG23cdYKdE9\n7loK\r\n=nLnu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.12.0","dependencies":{"roosterjs-editor-dom":"7.0.1","roosterjs-editor-core":"7.0.1","roosterjs-editor-types":"7.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.0.1_1547161448545_0.8101979231902801","host":"s3://npm-registry-packages"}},"7.0.2":{"name":"roosterjs-editor-api","version":"7.0.2","license":"MIT","_id":"roosterjs-editor-api@7.0.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c1b638835a83f67904838597933d3565defdde45","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.0.2.tgz","fileCount":309,"integrity":"sha512-3iNsxS6WNia+ClJpQOhW6NwcBA4CfK9epvMzEaHZ51s79phChPPDNPPZq2DEfZF5NlC13BJA5oIz05d3yZ4njQ==","signatures":[{"sig":"MEQCIGa8bG5oz+m2yn6DvYTTXrG+sFIi9Lm6YEunCCh9eCeIAiA9eziUHxI8RDSkYz5Xmf41drYKIEmGjSz+uExjDmOZBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":374507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcP6wQCRA9TVsSAnZWagAARKAP/R1Wlnn38LL4//1byH3A\nTnsmfOaqlGMoML/UgNC/RJlj8yiEfyb3s+45p/8lE0uNu7GVFFyeoJLrLN1U\nWgEtKi1JrU+Q0v6kSesCMu94IPhQcLLkBSv626gKc+yjVmsbz/zIswYMWt9d\nZqz2WeEogneQPqI4roy0D75XnXBsMCZZG3zm2/ObA75LHRaFM6sSGfjx0FbA\nr0hgoTBAVMS/PB5eB6oWU0WX5JB2W+5HrVFkuN1tBEs7AZQC5uTctvD1xzz1\nSmI+T5Hh7R1Rg2qYtm2qBQyM2w6tovhBPP2JoU35XEs4iuHT55k1zRFDLnVF\n1FTFmeh4BBhvTA48wsu8rA2Y439ZXCZHQsV3DvKq38NWPxnE2C21jmzQuaw1\naojuJzmTwsV2+6tEOIpQ3ndtETPim/P9Jem/nh4vIkI3kCwPDuUmw2/6RxN2\n03WoBECFyxYdXdJD0Sq7WSuwhvG84Y+rOFnl1orjQqoILZZcBkqYf26Nk1mC\n2GxEVePH5NM82fRPL5LwIMByNDDu8na5I7HEVtZoETTkD2VVOzD+FOy5AD2O\nGRNJfRFdEl0quTTeMNFPzQPyuji23mVKPXC9cdSAur8hkf3HHheletgOm6/8\nNOu7FPH2v0wl2cc+tFEzu7OKXNHFPA7EEuQJE/78UYGG3VGYgkqyXArqybrK\nAKJK\r\n=goch\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.0.2","roosterjs-editor-core":"7.0.2","roosterjs-editor-types":"7.0.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.0.2_1547676687546_0.3069738250340892","host":"s3://npm-registry-packages"}},"7.0.2-darkmode.0":{"name":"roosterjs-editor-api","version":"7.0.2-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.0.2-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c8e5bbf72c463a4ca453ee7e8ba378dedb394744","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.0.2-darkmode.0.tgz","fileCount":309,"integrity":"sha512-jlgJ/tGVKHq8HTyxqiwdOVGBZbGwb2GSPqzuahRyVOIK3AVxrdKDnUYSgsWXNko0tGmkPEu+RBs9RitIgC1VPA==","signatures":[{"sig":"MEQCIH2YJaRMpobWwux4po4HrEWxLWA70XMQgO3G0zc9ElHIAiAQ/mdUJihruHBVt6NGg+ez9Pf9h9/5ZAl7UA0Xq00BcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":382083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcS09DCRA9TVsSAnZWagAAWqYP+wd2LTERa/xqhk7xrUIR\nEW/DdP4x/hnDAGY2ZwAyuqSJH9huBZv2sMBnEeaK87/HxJzKEegcRhAfbrmS\nwUMsYy1C5U9M9w63HYOmqeI3IJHtPS6U+HqkPMZWqJA1RjDhSD4QqI9D3wD+\nmBKXe8l1qkgAbSdyuDVvdKPgU2eztX//4db0X6ptZrKzIWZkL2m8GItPsLtH\ngXPjqFV3TSkeRje7g+TwdqET4g0LKRp0XutusaxaZTIA32LbRqw6lIJ3iLxR\nYYX4S0rUwIeQUXa6qI+4fpuPu6zSReoQ1NFKoZwnjagNAg5L8ysrmddM3KvU\nrJAs8yjenJiHKAtTqFqQCNahupw7d74nLBPOl+DG6/gE/J73v04LJxsFv8Zf\njjfl7DFetZx91eyAgBx0FYrhVUrvZQQSVyfgFqVV+/13xyiqwlelYhh5Jmt9\nWzVjZDOJAKhk1oAzJAGD908xhduz1PpfKYI1EQ3Jd8y4ffaArNu3XMWQRt+G\ny7605rurq0Do1yO8yGUf7E2NUOyq0/sUIgN3x+FH3DWpIFgpk22TE+1Y3Owg\n2qOEs/GoXp22A5n44wpc2ixDdWZV1LqM3RDxEYPCeYhbIOiz4MnukpdqVUQn\nx2iTZUfXQitkodM4DcoYAxbWZbUTX9QOx1o6dJIwQ0q6uXDSZFa5esz5fe1P\nSKWI\r\n=9dyO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.5.0","dependencies":{"roosterjs-editor-dom":"7.0.2-darkmode.0","roosterjs-editor-core":"7.0.2-darkmode.0","roosterjs-editor-types":"7.0.2-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.0.2-darkmode.0_1548439361982_0.553899930076583","host":"s3://npm-registry-packages"}},"7.0.3":{"name":"roosterjs-editor-api","version":"7.0.3","license":"MIT","_id":"roosterjs-editor-api@7.0.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"11dd8a7ddb61ec2028c96a11337ee38ff07eac7e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.0.3.tgz","fileCount":309,"integrity":"sha512-MGvmWKyu4/NLwX2sgDFZEgQ28Ui9zerOVT5YqTtUsyfPkDmM1XhEp8Q2xaOZGfLpVyihzj9kju9PHTh0ebJVIQ==","signatures":[{"sig":"MEQCIHEkWTxq6G1tqelib/zRv4mCrzIh53tNDnWW0AFwfyIMAiByi3HS+54WYvqTP8eob88A80zlXXfA1TnKgusyYWPWdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":374740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTjjeCRA9TVsSAnZWagAAUs4QAIZpGJLCspgluhHP92ut\noxEsiP7EV5oL1nxAePecMyMU3GtJ5FqZw1KI3nH86CR4s92swPysEZUagdfz\nqKjhwDW+68RaXXOpWdA2WsHw2yHRYcWQlCA3woL6qMk/CAkE43sUxdkoCaJ5\nJ8kNZlMlY4h0zksOjMWVg83MJjiF+ueVN7oX/WXEVxLmVPcK0qoUBF7Oa2dF\n4hnWrE0ShrLMgakAGvubIDMVbWbyJ8UtfgY4dY1Xf5BvHg2OCeaaRzYga0PH\nXU9dRmQpjX4PQl0DLiyB0l+2XUDE8I95pPYtrtjPwm31YrpLfm9OGRwCoyzA\nmXF+AYLaIcMPmMZvrLfsqINhcFFwJlIYFTIYZgfkyqiBSRUArsP4TlZo0WiC\nCGv8tTVy3IBajUFtS7/kyOalpbmcbmiWTdLaiW5On/TkQrM9GrTiXmPx6XGL\nXc9GDz1Gof8hxySvZXKMnSPkP/HYehA52ZB6Lz2s9nGthOjPd8fWrBL6pUZ+\n59uoNwhHpiBuzqEKqZGFWPMSVmEG8QzsuhmYEQuqtId20501IGt4TO7hGeCC\nyZcvOqHJqo8Oo9EF3ZlDnacXg0+cGXBOYdnbbUzneCSYxNKH33a2KFWgJPzx\nw5LBPW6EXTAjZ5vxsAPu9dsRnxRdBt+oMIid2+bzPhqNWcq0AMgQp5Fwale0\nyOg3\r\n=hOhu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.12.0","dependencies":{"roosterjs-editor-dom":"7.0.3","roosterjs-editor-core":"7.0.3","roosterjs-editor-types":"7.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.0.3_1548630237980_0.5035106502168836","host":"s3://npm-registry-packages"}},"7.1.0":{"name":"roosterjs-editor-api","version":"7.1.0","license":"MIT","_id":"roosterjs-editor-api@7.1.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a8e2cc86d9d63112cd1157250dd1fa5f79ad7075","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.1.0.tgz","fileCount":309,"integrity":"sha512-fXuj/O8Eew7ixqpm0x59kSsKTD28ILJWn9jdcs3lHQQw5MbKZ/MV+N0KPdruoOeI0TYs3HHDI4JA09UBSLVefA==","signatures":[{"sig":"MEUCIQDv0WmD9zavJmH77khSjvHPI19KLvmewXuUSTzPOU0HagIgULZwI3cnY+l1bH3tkZxt9bUmfJouAJ5Ly82o359E7Ow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":374631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcULsICRA9TVsSAnZWagAAPgsP/jeGg26lAIKj2WmPYueC\napSv3FsY6moU5S8ySZtq5GZF40qcdgTYWUvS9iNe3Em/kAxJA5YmDRWTFS7E\nIVYxBJVLLvTeAkG3K7TpaefVR3LpBQqkXK5JSth0lYW3C18/Aqi7Oa4JY9Ee\n8/mbtaBDZJmhO9LBi9PhBeWYyGDXzfafDLc5AfoSYuOquViYTw7LhFmkHpoy\nk/LxY1i0g+zFQBudFalpfNMTTQnXqtJWzelYpl9Mef8BTQTaYL7Vjx+a7ohR\nuIllOi5FbQjFTEwWgHGyCzZU3S0Ys9ffPIQRE3ADoSH9l0Ag8gzJyAPhoWHt\nsV64YdN1vTyeZCJPhR+pAC662eRCNwA5Y2BC7mX/nD9xosLAsG2Ar72rZQ3c\nLFsnESZYJcb3brw30TMF5kBcEBdrsWLOm2ND9oCxrLdbtnfBoNOwV3TgBJqh\n5aYXsudf/8IjkA1kGTdfYAJpc9F4lEXIjjaihQDwFnevTmTDyr1L/LhIaDKV\n9ow2DWCPeN3g34XcjNOlHgjT7S7/+f1VCPOIjQwwGCUSVajwgtVxlJ2jeZzR\n+CJujsw/7ZH5BdlhUAcBgtfyx/xoN1CuqiGKfaYJmvFZjm2bXHn/nDyrorer\nxnInPr/NLna0h68Uu49+2tgVVKc8D6ba6X7wnF1jfVLUudtVBc4sFXkag/cR\nLcip\r\n=bq9A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.1.0","roosterjs-editor-core":"7.1.0","roosterjs-editor-types":"7.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.1.0_1548794632207_0.33481882261395945","host":"s3://npm-registry-packages"}},"7.1.0-darkmode.1":{"name":"roosterjs-editor-api","version":"7.1.0-darkmode.1","license":"MIT","_id":"roosterjs-editor-api@7.1.0-darkmode.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"72dddf8040a83eb9366ba30dd91ada8647858cea","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.1.0-darkmode.1.tgz","fileCount":309,"integrity":"sha512-cF8KYg07w4x8zq3ctC1BlbcD+w1LdkWuicMZg+jVv0R7hPxUUExp2zVlSHrvftLrQARrsyLRMnAW3rb0gxxGDg==","signatures":[{"sig":"MEUCIQDimjv0LuGY4IxzvSh9Pnq4eeL3ejJwzgagWnLhQQRqVQIgGFXRVDaVaeKz38qa2zk/+i8uEyxcMR+8CfPycXJq8gU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":382205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUMlFCRA9TVsSAnZWagAAY4EP/0FKCnFmuXXnMj10uiRG\nGtJeBhc4iNf3fYkhzYwUgJ/N/rC/AGLKzI6n6ScFFcx+f0AJK5jrHerKdsVS\nWWnNBkIisGHOlm9UTXbENPSpSf+YMBL3oB1wIX5Q7qri4NJQJonKyxb0ddOC\nCrQIohrCA7RXL7UODEr30JRy4HrU9loGeZryqWpYzPylj6Qk3ssr2UxPr20l\n+Pj3NvOE73b1O3wQ+Yz65wimyHJ4L2/Kfn7Dnsc8e7N5rTL/l8n5rmPVvCR/\nZWfFPf0bHYtKFTI3oiKo+kIkH9/YLBvo0p0PG3DsUxC5BhNuez55qv5hPoL+\nY4Kc6eneWTyQMtGmuePgQUjFb63k6GjjCyOcqUp03qgzIOYjkGfC9HEPTGt5\nLJz+xfmjl3lkCMJqRRTsbNMK9zoTJbgXuYWAfRi46G+EzXN8VaH4pVkIy8u7\n5a6wMXBn7qEbduUUyyEE1DM2lrZWNvvuedsWF+uyXeYcGJWFruE3tdeHpC5j\nlDfrv8rf7QV3N5DiVp89B6dLRRHDPIN2s0iec6Q6mVlMZOQRHcXM1OmjRbrX\nIDOeZWy1vvkKj22+fXUJrA0iWwRmYjozZ256gZEG5Ddp/ShEvkg+Ql5ZQi16\nbhEfn/l6rGpYvoTqJ+eLrERvnUi1q3ftR957GSMZMKYlZC0mV+IA0ZYuTk0r\nWf8c\r\n=TmOe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.1.0-darkmode.1","roosterjs-editor-core":"7.1.0-darkmode.1","roosterjs-editor-types":"7.1.0-darkmode.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.1.0-darkmode.1_1548798276927_0.1328370843458173","host":"s3://npm-registry-packages"}},"7.1.0-darkmode.2":{"name":"roosterjs-editor-api","version":"7.1.0-darkmode.2","license":"MIT","_id":"roosterjs-editor-api@7.1.0-darkmode.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a5f1cfed30b196cbb554a32b023fad2869fa8a10","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.1.0-darkmode.2.tgz","fileCount":156,"integrity":"sha512-ekKVxSZbtt5yLJWrjaNah/XwF+AvDttBZkmQUD42iKIUo+mH7lNl78EdX3ytgmgombee9lDjxLqN25l++yoZTg==","signatures":[{"sig":"MEUCICukykeWj4jlu7Xe/U+yPJ3gucq+8dpX3GJSbPd2/BvIAiEAmFbUL+eylXGl2unuOCnPmU/NluGTkb+nI0wcQLQytxI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":187887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUNIiCRA9TVsSAnZWagAAGqgQAKEGyXIUlCpuUdwpZnQj\nqVtrQDeo/Oa7m4sjqqu5jfeAO3zdCL/FhjP7zyn9Dnz9IqDcUScDh5oEC7Ir\nAsSgQD7KsU5rRcUdv329oO5Y2x+YHAv+HFDc9WqtXz4jZCTe22gef4K1LsdF\ncSDUf2ZKCtLVMuKesDxqKxQLVpZl4H6Bmi4qQiSz5+KhjVI29zjzhT6IgEpd\n8IoFBGJJJ0AtzNTZmdjWE+5qfsOUs//q73duyfeSI3R3sFUZLYaCQfvNtcFv\n7waJYQuPYWhOUTc+STQ+Mb82B6lvqJ6/+d+uLhEjFej5cUU4bgAaE4NDhgWL\nF7XIdNcTuvm+5+AwQ/QdTZmryBml8NwCp1RXmTLqGrSJAKquPmW0g407MOxJ\nDFjy7Jsz+vbIIn5OoCaXbiju0DF9TZalTfseDO6DR7OCgSOeSzWcOeAARUFs\nUpzwtCl385QtEwF3SDfOB0rjGdcTcvIt3oSlee6+QZVEENiuvp4frPMKWT5U\n6OD5ZHXSv2Q6A/LDJdmM9TTxjJZyIaJ6W5rTTXjCBBdtMESYfBRI7ghq2N8r\nbrkNOLYVyC3N6nkSyFSPmUJl5bs4KfoVVuXvnANN954EuNNWypcq9L0cGfud\nYXJx3fJZOm/TDxXTUw6zzPD1OAfbUZv36mswn3xnvujlOkbN55j9VFBATVA3\nuTWK\r\n=JGn/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.1.0-darkmode.2","roosterjs-editor-core":"7.1.0-darkmode.2","roosterjs-editor-types":"7.1.0-darkmode.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.1.0-darkmode.2_1548800545365_0.8658260658602746","host":"s3://npm-registry-packages"}},"7.1.1":{"name":"roosterjs-editor-api","version":"7.1.1","license":"MIT","_id":"roosterjs-editor-api@7.1.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"963fc696b8459446dddfcb771adeed95848220f9","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.1.1.tgz","fileCount":309,"integrity":"sha512-hKMLFdU7CBhOTjyG2IuDY+/h8LIaeLKt8DQMyh3qLb7kUovyIy9lwc9OxM4/ErndCKBzRO91IKKnmfsAPsiaiA==","signatures":[{"sig":"MEYCIQCyOgHSuuZptlyj0ZH2CyrFm93vR/OxfVPSQZSxkWY8WAIhAJeAYdUTWAcVcTMU8WpxfKCJHipCommWIYAIbt2lrfk6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":374631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUNMKCRA9TVsSAnZWagAAk7EP/jyydsonF9bBDyhgsi5U\nmNDDRT0JXYASpPI5t1VqwDcW3prJ4xawNHKw8xLRC4xyarUZGSnLPOlyqfTs\nh5JJ8I0BnMqxqRnBQXDoF2pbYnDiKmswYbYrarVA56LE6CougFkSN7NxUXUN\nrPaV019vhg5DrOB3Kv3WcYbEmadmRZ4Y9eC3yWvHzBGKD/d4RRtwPfY/9b0d\nBhIqs2MyC2gEqsQfRBGguiiNAB6mPbU3q+nox/tlpYnZWMtJ2uiRx9TPcurR\noOSgMmHGtPSaVYkOjTO8Zo6l60rIc/tVkdLiHLJzQT1UBdEMlCJMnFObp8qe\nmL2F59U7qF2PoPc6MIwFkplVSr14iHTVu3V6XzbLM4C/W6rBPpqYYqFG06oq\n6FyzoRIJ6VnabyCxBAl27KYqNjnpZbNiAj9bVk8oOI+xTtai0rE7TYyvEQ35\n2wD/f9mIdKgfuiUM4L/EHGd4aDLlTelsl1VL5kLcx8B7lGaYNsR+si3x2mhn\n1WVOUJpXYlI3UDQN4ALDuga6/evib9l+LlLWGIkkse9m22bhp67tplN2yWV/\nkub9PaiVdPQS7ooPtlqeaxclhIBjlhnvhKSmr0ymG/zMebuwE9Oh30lFoWVw\n8cb7QSA1iCEDAX5oBZNkGhgeHBe14WvoS8Ey/Ki6xylL4gZLDEr+Dl0nsOBA\nyshS\r\n=rRTO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.1.1","roosterjs-editor-core":"7.1.1","roosterjs-editor-types":"7.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.1.1_1548800777745_0.7451141188080157","host":"s3://npm-registry-packages"}},"7.1.1-darkmode.2":{"name":"roosterjs-editor-api","version":"7.1.1-darkmode.2","license":"MIT","_id":"roosterjs-editor-api@7.1.1-darkmode.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0be4ddef8e683de002e80b7496c5aff6fa4ad701","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.1.1-darkmode.2.tgz","fileCount":309,"integrity":"sha512-85zFKTeK8Tf6ocA8kMG79WnHO1gFqs2z7UDYel3JLR4Q9s0cOKSH3QAuXAN4Rw+6lMXwzxqPoPOPB2ikGOSQsQ==","signatures":[{"sig":"MEQCIDPO6cUq0WohZSbrZ7kq2IwGATcEkVubfkStt2xxsxcaAiAcEyDoV4umQUs/69qV+Yax2/iq+8lKiPKYSjRhIaeADg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":382205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcU3PGCRA9TVsSAnZWagAArBgP/RSvhhpaCfnjaZ3EdvmK\n7No0Pj7bAcFvHirQVlgDAFdsJk3x81Np+B3JqWCWfUbhNJlLml2xSc/4atMQ\n2Zqdw7r9WMwGJuopWqLTwy0HjfBewkUgNj/HBlDkQVO5g7k+dg+ySFA2wCMq\nmDxCqvr7L6dVv9xqggI7c08rDkVS5gXg453n3b91FlM0npvTMeUztubd0MmA\ncMfp+PA8NTE9II/vxeG8+6+GcIORxevtd4baC2meF7GbR5qhWsvfUX0YfF3I\nOd11pZPqURiAUGhb9b9myPyCs8z1xEFSaweftU7hxwjkTfI/TW33ppqb3Ple\n9VCJq6AKFVh4xH1AW7/wBi2BPM1IrtAPLQRYTR5ZD5R1eP0pHHT5z9trszHb\nhqGAtoHnbhxEC+nlVpIcq6kejAjbrLJm9QO4gTfCeKuQCoOLriyksj5u/XZh\nLcVZ3TcMtFVjuw9HYgCh02VopfDOBc1kvLjpkbEW7euLFg1b9Dsn4cR/V1hh\nIOWtX0S70TWl/hKMfefZ/p/jrz3D+yFmYpoyMwU/0oUF9YAP1yM7ih3vIAEF\n3WoIICFK2gmNTqiEhB1Sge5GFywmMGZvtFC0r39KLnyRq8j0kb2pWeRGFjSk\n6PihG41E5YYk/w5BSZD3+XoxcH3jX990I0eCCS9i+O0BeZ5Ui5ryN8fPGB8x\ndeUR\r\n=VT/S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.5.0","dependencies":{"roosterjs-editor-dom":"7.1.1-darkmode.2","roosterjs-editor-core":"7.1.1-darkmode.2","roosterjs-editor-types":"7.1.1-darkmode.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.1.1-darkmode.2_1548972997700_0.8892280102648054","host":"s3://npm-registry-packages"}},"7.1.2":{"name":"roosterjs-editor-api","version":"7.1.2","license":"MIT","_id":"roosterjs-editor-api@7.1.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6e24ea5889e262bb93c66eb96f445495b4abd5d4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.1.2.tgz","fileCount":309,"integrity":"sha512-O3GQVcRZHEDSxGLWHK01tvio53+rXbmCrn2FbqOp/jfBFw+yG0ZJXr6tClZT0tkwxBjEnFBHdSv34T/Och7lUQ==","signatures":[{"sig":"MEYCIQDKEHJtiO0Y/rRDlmjpHaGZgwL1kZbOfGr71QNHHyUTZgIhALedMoDNdeGsiy6n/xompNrjj0EW73jEcL4HNJRdkrWs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVMVcCRA9TVsSAnZWagAA4MAP/A70gePUZ6djW9veJoHQ\nlWTqtPjd+PZVkQbJlszhk9HR/AiehiTHAOeaOTyCrPbjnpg29PIN6Qw5kLeU\n/BSIDEH+PVTItb4I+CY91A6z78y7ME50vrA7TcedPprWTr7L8Vbjqceqw2Ku\nwvW+7nS4hizTARrdi2/U/4KvP4jipg3YstSEbCSjZFG0Akd2RStmbTk5EAcn\nBV1Un+EXvtpkVqI4hJPABZmXmrpTEfl6BBr1t6RMVBIp98OXB1UVXcpARk43\nI8AF56g+mMzxWeZub9HSGu6vwkCJjA+cHCoDZO3IEaEt7Xia26sigp0ohCi1\nbeKSrK0QpjlB4gfepbvkNri/q85qHfIZ9lVeJ9ii8PkTz58Vx+PPxM8GaPHk\nPHsm2tvn0WOWF2XJ0mSlvrns/1vtCypb2IhIWdoryii7v47HbuuRC18PVRbF\n0aOIbLsg86hFgsLSApE38OW3vWsh0k89s4O+Vp5ccn4ebAHvSLdlUnwNMd4+\nzxaQk5rpahc4efRHRz+wkwYjad2nKuirg2Hd+nF+jjXMDWtO5YXk9KAXWqnq\nWEAKwribf0n3lrEdLzApXPk0E9hkpSeCt4K1wfjAl9iiJgJac1HekkQdWM2V\nF2P2jYh9K1vaCgxHbIQtlwBxb38UWhhgLf0G84qEtCblJo5eIw8vFWEpL7Kn\n1DKN\r\n=wp1Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.1.2","roosterjs-editor-core":"7.1.2","roosterjs-editor-types":"7.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.1.2_1549059419848_0.28791758764714315","host":"s3://npm-registry-packages"}},"7.1.2-darkmode.2":{"name":"roosterjs-editor-api","version":"7.1.2-darkmode.2","license":"MIT","_id":"roosterjs-editor-api@7.1.2-darkmode.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"458fb3c2517b69b78437ce58335c0684e41a5f03","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.1.2-darkmode.2.tgz","fileCount":156,"integrity":"sha512-m2ndvLcCTIfzmmiyS8HzzDv+AXq/cD/nX63lsGcfR6qQWyG1dGJA9JjzTice50nX6SwSCYFnZIW0EqtPX/Do3w==","signatures":[{"sig":"MEUCIQDXH6AX7KcavNnE8CfW0TM2q4BUEfRN07/8H9/sKTro3gIgSOf8lVBDaenIF4pMpAiJhcd5PS8Zu49aPdsbaIrPgSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVMX5CRA9TVsSAnZWagAAOd4QAIvzICSt5ymCE+G4DR2N\np1lO+AnR2vxYj3g+a6rze3oR811pQXHStII5MjcgzkdQXKmAO032Nvq3gGJ+\nPhsoKPR6+zkgQydScP4Y9xJ/O6myFSgjMste9V5ezTE2Ug1zem9P/7sAQ+UO\nDBA0+oJc/fS7D+HKjYCNQXQf2t+0KaRdAaPwmyTGuTHeE5FnkxxywaAAKVe0\nUixIhc94viGke9IfZYhEpcoFS29qMIGG449ixzGvSSGKJxP7Ra/8uB3FQBlI\n2EZYzYtol7/sjfOaxWGj6xTe1dL+YHKUOrbGgD4FYK3BApb3ww7YDQ4LeZlK\nbuW1B55cxarvbAOfN+c8QyU4kz7vPyyLxQMw3b69sOBKkkDzF/a7UG61ijtS\nKUjegchrOtwgDyPfDBrR0YtQguO8y+VVlPfrxzY17bBFnTDy8BHh/+tm3mNN\nyLmmMjAK8AkM69xLRaQS7Unlpyo6cuOHULgaqVjryG3qvg5qlWTb3uR7ctaQ\n/ECDH5+RIavl/EbD1cLet5ToSo/vSQsg+hZt3NSssb6LrmsRIz0CQXet/0mg\nt/ZdXDBKOLrPKZT0mQLtVt/lpoXGzgRO7i4jShHdtMnI482A3aIA6pOEgAHU\ng9edQ0W6gqBablqbZo/6ym9oJcVtPcURHqZJGXxRzyjQrkhr5Jp4oFJnhcJZ\nMav/\r\n=+tKG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.1.2-darkmode.2","roosterjs-editor-core":"7.1.2-darkmode.2","roosterjs-editor-types":"7.1.2-darkmode.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.1.2-darkmode.2_1549059577035_0.751207990829297","host":"s3://npm-registry-packages"}},"7.2.0":{"name":"roosterjs-editor-api","version":"7.2.0","license":"MIT","_id":"roosterjs-editor-api@7.2.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e9c05d99dccec4e7d792001a2852fdec4a8377a5","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.0.tgz","fileCount":309,"integrity":"sha512-xIClNDjdtV0CwpG9IF1I3PTMlk0RVUBL7TUtHCOALU+f3LEJ++8WZ4v5VtypMBomb2Q5/U5UpxZlrcfrMQqQ1A==","signatures":[{"sig":"MEUCIBtnEgM9wa+xSZnGGJzG6KXlYkJiBffNYS/FC4ZCJ+MdAiEA7RpfI3LKUy6uhVtLfaoURCzznn0GOVj8xgL1nh6aG8E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375537,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYbsCCRA9TVsSAnZWagAA5J8P/if0R493xzJQFhtlxH2m\n4Fag1ThWvqTPg5sFYVFOgpKG0pHVyYqQAlVE+07St4f+KtRtK66xpKkKsel0\nK54AWHu9cdEajzLNW7VKWaxlotPk5uJJpwQnJQz52XDZFrj7kxFvFhA78lb1\npSzy1jPsFdiKjgXOwQvLhNf6ZbKoFcAbv+stJGFSmrI1nu1UhZ9GyiD6/Exz\ni+cbQRFFaO9RoEWkw0mIJLNeiqL1UAfdDOSbbdEY1Ex1fe7X4fF7T2BOb+bF\ng2+XiPLpfrUhAqpEeqO8q9MY36cDpEJkVNonTM53xppmxKR4mL5r81wwhnvf\n6eFKWZ0xzWIqj6VVxjP25/wk3Hsut28P1eo2BgzQXRT2mWOQ93xHYCEBhwG4\n3iQf43OWCy1trINXObTlBt5YoQ+Fb6+CAC9ZPwYSgiqVjxhq3PIstTmTvAw7\ntoig7rs7qhvFH0zkxMJauLfXm5nElzN0cL+qbJoQP5ftsqaml7JXGfgzClJN\nFaxvpM0u4JfzfyU4mTPv6jjI/UnEIan/gS/MpEc2JyKsKCRvDX5S53CwojC7\n2TZtL41heovk6MZh/ePFvNuAA8gAMjsPcv+nffuX5V8gLQyEz55dCCnMG63W\n75iybpDKZo63cjxYP4BuFB6YGVqSxz3jxkJAsIkncNNyaeW46iUrEUvxkEu4\nhE9B\r\n=w9sS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.5.0-next.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.0","roosterjs-editor-core":"7.2.0","roosterjs-editor-types":"7.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.0_1549908737971_0.131083394554258","host":"s3://npm-registry-packages"}},"7.2.0-darkmode.0":{"name":"roosterjs-editor-api","version":"7.2.0-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.2.0-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"21a6f5fe15db7f7b63ddfc0390b033f800801666","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.0-darkmode.0.tgz","fileCount":309,"integrity":"sha512-2l2TCw+J1KQ0u5wg7N5BvRqCjXDyMzdAswC0071fZ+P8FSBKfIpYqyfq8UczahKevs8VXxwJzpdqAq6OkShuCA==","signatures":[{"sig":"MEYCIQDGZFexmeKzod7BZ2J/pCHS6Q6WAC1WoAt10Mz1vfmTSwIhALrP/EQJsWDSI9ApxRW7z47d9o1Kw7zr9orCQHHFnokX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383111,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYdFVCRA9TVsSAnZWagAA5xsP/jfOPjCegqyy6k9d7S24\nyx7/ZuPwGzpmd3v4O6vQFResbjuEf1l1ERdQLUsvpUfFas4D7cXyY8jFt0q2\n+qgPZTB7qwFl6lf4iYhIbPXdXsqWiaTUtjshlOn3qiWgQBbWacPJbA4PxdNC\nZI6NipvcEFLTaxA4v1UOKHDKUCk8rHbnfgZ/+Xgkd9ax4T00lucLBuBOdygO\noWbY5Q2bWXVFMslW1gJ9ROB0rRaiR6uE/USFpfZGy4ZILo61NpB5xCpo1zsr\n4bDQXuw+hN9l/aumkpUj/K7OfnbgwNLKJerjay+9YlCIIEfVNfrPTwLCXmz1\ntkhc8949315KnT8HlK9VZBvnN9RJtgdKBDvGJSJgro3zTWoCbOAdNfceCQMW\nApmMpY9gjprPUYGaChFau5oW7A4U8n5coJAHn1ZchvCGeiLbQ6hwZagrHqC1\nwFYJwpdjUboHhCSv52KkIlx/a0sGVYe+ouhTT1vhTwA6sXKHlszlrrPw8G3P\ntwD0++b8GbutJu9bsU4TJinTU+mzPSu2SgyYNaQjnzxPqNXud7N+z30TPUMW\nzQpN9X7TLUyQDyf4XeZCiCbDWCkyZ19zx1KFLOuiAhrr24TX6zeMgiVp15OP\nG9lxXKI1PJYwshiPgGbNUXbQVX93YPzsq9Ln8Y8vzu0+aDR+0/ep0GdxnQMb\n182P\r\n=Y+6K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.5.0-next.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.0-darkmode.0","roosterjs-editor-core":"7.2.0-darkmode.0","roosterjs-editor-types":"7.2.0-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.0-darkmode.0_1549914452897_0.7799915122101926","host":"s3://npm-registry-packages"}},"7.2.1":{"name":"roosterjs-editor-api","version":"7.2.1","license":"MIT","_id":"roosterjs-editor-api@7.2.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"978368f49234f1b3e3b4cb64da4b2c76b67747dd","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.1.tgz","fileCount":309,"integrity":"sha512-DzarkRey5dV2H8sCjtcGVt4kJl8uiuK2mQ03WIj23VvCX0THgVM53619Xe394a/+tZ13zUh0X7nAP/MbF/Ei3g==","signatures":[{"sig":"MEYCIQCkmMq7OyCorDFAwQYN8sOn5BYicKOT6LGmWyUymG1mjgIhALpRqgZ4/PvM/4CD1oD3Axz+6usCpNsCn62QywuRXGvp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbdB4CRA9TVsSAnZWagAAJkoQAJM+eoYBe3FfbV1lRc4g\nmZFqc1b4trq3kLbCHA0daqknP1O+bnXY0XMeee3NK9/hNQuiZN9gWccDStRN\nD/XDdPYk1JBrEOxS2HwgFMGaUpOKizFUNzyxvr8AnFbYxZptxQcl0d44Voz3\n6+9xc0wPQcVwQY6qtzHx63h10UH6fF4iVWmi3qZF6835g/Jhr2iH25mqV9Ge\nKRNcemsG9q8cdYpi3uJY/gXz/Hl8hVa5q3FAGt56/EKONDoSRkHLzTHMJJyh\nBNXfQUieXXKQOaSFJCn3ghNsnvnLZj7tohBpEASuF4gJxnv71fHRwL5yhWG0\nmBnRLdwCd2NpMDUHvttPB1jc7ktqbd0dUiFHEeR+rotMu+mZdf/qloLmloMy\nnUaZqvH9OJ4eHJN742vUhx63cso35vGxIt0L8Lo/BhX9+51HrNhkdVLcbWul\n/v6/H/gd9nopKj16fMhqrPu4lWLpl+YPtazpc1Tbuk4OVzVh+WvJoU9msq55\n3ODOwsPcADeuo1nHeiDtSRa7Ksd+5f4crflaQiigKw7Dg1L1OQZ/vzYNqoGa\nB8JCKmDMXOqqC56SFcUveWKslkeiefxizhImvkWjNSqRg4yS8Hee3jE0JHOf\nRYMEmLyYN4amvnibao6v7Te7nSTQV5XZzL7EpxBpTk+kEsJY0RrxVPM7dcoT\ntiJf\r\n=TDWW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.5.0","dependencies":{"roosterjs-editor-dom":"7.2.1","roosterjs-editor-core":"7.2.1","roosterjs-editor-types":"7.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.1_1550700663770_0.6834738226856316","host":"s3://npm-registry-packages"}},"7.2.1-darkmode.0":{"name":"roosterjs-editor-api","version":"7.2.1-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.2.1-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fe8557f5c883c17aec6f2d003332f29cca607a36","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.1-darkmode.0.tgz","fileCount":309,"integrity":"sha512-wd8Vtm2d6129ajszZRgqKPsV74C/Z+qzK9KRyFbQ6yNe2DZFss8JO0OJVomdZWBrcaWiM++6ScEP+1I0DCE3rg==","signatures":[{"sig":"MEUCIEiNGrq/R1jToUJyu6mOTSxEIY/EBeZx3xKFbPTCLpcZAiEAt3nUsZMvLClWizSTXZDdJCh9NGweEIfwG/E5AbhjoGM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbdNYCRA9TVsSAnZWagAADSYP/303RGJ+sHeo7X9f2+wz\ne/wHUjJs3JdJmrY4SX35ba5NYBm2QjAWCGAOeO1KGFPqW5kFcIqhUeB4lSNj\nq9sbLrQxYPbwxLI3rjguXNijgTbq0ZiABm5Kkiw4MuVQTWWpVp2PgVMLEFz8\nCkyWQnd5uhyEqNRTdeFBkzgkeMJWL5NNTJNMzrj+jUoEZl60CFO6jFW9tp4f\n62qadiNISumEksdp6fmSV2urwzyDzWTotMUzqXsWEb43T4u94vD9AtZRZHRw\nrtQB7hGvNRhZn4i/98fuyD7SlbpwX9PMmDe1gApCMhkjh36gUHbLGIcyU7Zt\nPWcK8cA13IHdCo2MMWSiXAKHzk4Gn4qeHnu+vcazcvIZMxMnvMqv/KYWXLrZ\n1TzmA4O2DnFEIHz8lAsXmUJxyRB4pkFj2Qry7zXIj6CckfXQnZLDGGM4IP3B\nWan9fBj89pzg/IgOUIFPOT9McgUNmzm0mQa6hm2fnKGfhZ/uWbD6Dm6r2MhC\nt9UKzMEmGi4UzHpMLJrNPyvNehwHRsCnaRI9qJTP5lOGYwaMtQSHpunDMJHk\ndSymRRlA+QOv/TXLAXKVCr1Wg0OGOb02m55rzVbaixmu9FXvciitO1Hjs4Kv\nFKq6qC7QHVzMz1TSw39y9AKErPlE4ut9w00Wml5UgjYdDHqYuaenXHaK3Rhj\nVRt+\r\n=sSeK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.5.0","dependencies":{"roosterjs-editor-dom":"7.2.1-darkmode.0","roosterjs-editor-core":"7.2.1-darkmode.0","roosterjs-editor-types":"7.2.1-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.1-darkmode.0_1550701399702_0.46170290789380175","host":"s3://npm-registry-packages"}},"7.2.2":{"name":"roosterjs-editor-api","version":"7.2.2","license":"MIT","_id":"roosterjs-editor-api@7.2.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3ac7815340f602b6567399e45ad3c5983c218578","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.2.tgz","fileCount":309,"integrity":"sha512-ENVv3a48ovXhHJeJKuxhptu9L6HJMZA8N/xNTvvQE+aBAKbUBw7W3tJ4vH+70LEn3JPMCtskOGLZk2BurjLdHQ==","signatures":[{"sig":"MEUCIFDrpzrxk53CK3U7Rgp0I3PEo/CCJ1pJpxF+K6gFHU3EAiEAkw/+y+sIVDX44UVr1zGhRqAqicEjvboTWcbdtvHz4ng=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375537,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcd3wLCRA9TVsSAnZWagAAjp8P/1HrZ8IUM/hTB2iFwkuZ\nM2PFcrv9UnQonek9EQXDuc2BwiKFQjSPdb7ncvLgNs6f9DzkrGdyXR31DCeh\n3nuOBejl4lqysSd6ogIqgE4e2mkpVUhl1D99HhueN9NU0Vc7z9QFPddKkZGU\neoB1ddCeAyRNzghRZX42koX0M9NoafhGi8mxrQP/oKItjm4L5v//c1B4nsvD\nd8AqjA75td6yV+kGLt8Tg2x0Sa5r0eEs3apv0mQiYfnEUe5cLwGoIgK4OEHl\nDkI5QxACmmd839YVtRQ89dxPGl54AdpnRmb6mFhnHs1wdhYZ67qP4CFvpPUo\n80ShAi2ejCyWGKT7/Pqp8F9h8Hu4yUi7msqFhrpw+V1sY6JSQ9odzOIHswnY\nKa4ktYf1wt8VZxfmXlW1pLvcj8LlEW9U31jEVPitF9Mf17ff0Gv0wpWxgk92\nWo33vF/GBDUJ8r+95G5Qphi/48eJUbxach/5jDUxDn9OQcGw9fHUFhhYgD6B\nVAJsAx5GUOUurhVd+PSxHlO/FvIDuSRj+ZLmn9e+aDSOuPZltVZXVcPwc+kA\n0MNGdE5oB5D6GPSOPg76UbNrWQB30l/ET9e+tphU1rWZFq+3AjZc9UibydnI\nWX+SzT9aTB5YtMoYTStgn6LKN7E39GDaIe3PsmuwJbckMbUfEbUTwAelBXlA\n00kX\r\n=InJZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.12.0","dependencies":{"roosterjs-editor-dom":"7.2.2","roosterjs-editor-core":"7.2.2","roosterjs-editor-types":"7.2.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.2_1551334411307_0.6639967347002598","host":"s3://npm-registry-packages"}},"7.2.2-darkmode.0":{"name":"roosterjs-editor-api","version":"7.2.2-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.2.2-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7b4700b369b9f4f0d71af3099ef31538f6121c34","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.2-darkmode.0.tgz","fileCount":309,"integrity":"sha512-E556fV4s0E1CFFW+KSLbJ7uTnp3muRE8Kzx9eOrMY47m6MCRhUItZN0mTRTTK/ExjEQem5ybZxf0e+qZjmcXyQ==","signatures":[{"sig":"MEUCIHoljwVRw0aWChfqaIDI3n85bU2UqtL4PtfM7SNfKR0lAiEAyUlmvFk7XseeuoaWpAPlBkIScGDPk2TYUL7DOQcBYlA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJceIvtCRA9TVsSAnZWagAAuWoQAKQ19MdSMdsVtnoRORXB\neGtPmkKEtB4tdJSSpWYsQRmM6oji6XP+Z0Z6Mmu+mm5cWHr+ri00wOZ2TqdJ\nbo2ht39gvhVQeK4I1ro6zzSevHtK2OmQLH82iMm994pnr1ZIsaSXlmeg1xlT\npbrb+VKiJbcShDozM7wh+zcgMbYeAo+Pq5s8AU180X/quM0M8Fr50sKI3r8P\n2k1BFjCdjV/yP5FWxaamQKj2LMNODgFtw6WbJLULcR9llbj44Mz7VIdjt+WI\nE8F5KpkLUmrpevk8Wd5TaqfrmcyakNPUNE4e5KyA8JYePYSjdppSYPHLLipi\nIio+bb9hRHLXMwuSInzt45Eg46JPyfq+ilVJITqpfoAYJX0jJH6AqEE95L4K\nG3SCgwKRcVGARZnEu6zgTDxIrL4YT1FCbiKUYhq+S3bNfJJyxV1tV8LJgapt\nG8Z1M2rZe+jW9ICQsgOPjuQG7ik/Hv8xg8A2WheWDTXwK5UpB+2OZPLcl/dZ\ngxY1wM/0pu//RQrQ48f36ZwrJyVf2dl8Zbk6xVuTd52D8BrCZNcTgQahTSrc\nk+JJVLFgyZueIgtnw7vHItrv2qNlGVMqfcq0nxpM+9GYrEYPv42r4B7v9yZS\nNHPaOB3YJ8k40gQ9EJTHRfK00OkGS49Iu2drCVb5bd4hPblju69GLJpyfgTT\nuy0M\r\n=Bq6r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.2-darkmode.0","roosterjs-editor-core":"7.2.2-darkmode.0","roosterjs-editor-types":"7.2.2-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.2-darkmode.0_1551404012357_0.44469415616936536","host":"s3://npm-registry-packages"}},"7.2.3-darkmode.0":{"name":"roosterjs-editor-api","version":"7.2.3-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.2.3-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6aacf0fed79581cd70f103fb5403d43f74db86ca","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.3-darkmode.0.tgz","fileCount":309,"integrity":"sha512-6W0ikjYvxZp1Vwvh9Fqrbs7f48lnPF9dCbaTV8e5fwyscsDdZlOKpz1Kj71pM0sxLVOr3MMHmzkU8YiWRuM1GA==","signatures":[{"sig":"MEYCIQCizv2687vX7Nijyvqmrs4CSfSNJjIEIqvtANCp4mAiSwIhAJJR2PugKFT1GT6UMEi6FA+n1SU4GQas7vBjP46oijuH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcftAQCRA9TVsSAnZWagAAco0P/RYUMGtaEWuzJa61C9wp\nSFu84BdFYee7iRO9kF3V0nv4lIGynltpSm8KgXZuNliX9po7m/8gEJIU6DJd\n5UjGnxwBcnU9bDU14s9sa1J8NVmtjP8BgZeeQgY2iegoDs/tTth2XnnfbGHx\n1PJ6I64igyn2sE7r9dOLUJDB0knSMgnWirnp/XXyHYUG5RL3wJT7JFHmsUBX\nc+5iBIysg0vzrYf0FrdCoiKIB6nPEjeQnaoFM1BltW79xCiGq1y5sGCKnzh2\nc4c2yfp+x1xlyNXxM6VSRKkHWKBbBhspQWSdjBlyIOMVT4nScGs/H3dmes6/\n9ZizLJ9aeXmWgTOy/vmAUzmrvGxh/6OPz2V/c+J5g7ATBu7nO5jCw5Ej0MIF\nAFaCIe4y1h3IJUTxG9s5x3UysXQ9IyeLfxo5XnM1D++p4cjv0UpDUTKo182x\nu90wHncPLB8ayL6T89VRd8CCtzjDmVdhvz+i+ASbv4/Ev7SeL+cKstKDQRqL\n3niYi6yNjvs11064+3UfGnz6KGRcbG5oZNKI54fBUM44HRI1BNZAD9b0vWtw\nn6ceNC3wNDidTYb1PeHLQOww9HEK8w3RRcIBYAa6tiJNhl/l9etWYsQwPYe8\n1j/1SISOIo11Vw6x6uCx96+gP3ypIQih4AyeJFzn3BhUqScxxivIEsY8KVYu\n3WWf\r\n=i55L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.3-darkmode.0","roosterjs-editor-core":"7.2.3-darkmode.0","roosterjs-editor-types":"7.2.3-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.3-darkmode.0_1551814672290_0.27021518466281913","host":"s3://npm-registry-packages"}},"7.2.3":{"name":"roosterjs-editor-api","version":"7.2.3","license":"MIT","_id":"roosterjs-editor-api@7.2.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f219dcfc9dabb5183806deb5c4621070138c3089","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.3.tgz","fileCount":309,"integrity":"sha512-MqlFWR+742gdn/ZMpW5Zm4GSVesOTTyido3Las6wvAWQ519SEj9cmAIeWyOQgrlR1OQH8t//alqgizZRD9AqSQ==","signatures":[{"sig":"MEQCICiZRZdxgCmT4efUo5pzR8ntMXUFqPw/hnPKGjo/6/m6AiBrwG6npJKV32uvU/OiWtVPluOBYMWirfwmBcTnb2WGjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcftEWCRA9TVsSAnZWagAAuzMP/2VBZ23EV5RYwtIIHttM\nieTRaBeGbiktLUb+lUiw730U/Bf54fQjkW6Vh5cSKZPLtD7IW7hgyJw15BWc\nqfLTK3CywhUTr6qkaJDSvWpcY1IJAsS3hjPq7gHpY2/sskx4+M5M4DF+RqCj\nRl7IQhGFoeVH8RFeg8QUspdJpSBz/WD9Ly/0zDhI+XHiWQiVRQuzGB+gwK7P\nE5PjXjtSG4rJSv4NEcuBJCCIYOK3EYCC2bfR+3xzwKRNDBPhaVzSq4H1IPpi\ncAupN1gFMwjqIiSIDxDssJEK9rtxx9deMX1ruTAoFFMnnNEcL8n9Tfot2NvW\n8Ho7zfelxvVie96H32HIW9WVnlbphd8CeLV89Mhymq7XO9fjwgVySCv71YRI\nfdtQGkvmSkxsIHKYH5YxrIlRD/nlJwo8KCZ5z6zzmOCBY73LJU8BU8DboEu2\n5nJmcDrRuioBVhIXmjOxS2yBLUw8qE5SH83uCaJnwfTyHS4n5+W+8YPHzfpr\n7pq4mxr7tMt41SF3nmhi066WWVfvXlCzU+0GIcDBL6M1nqrv60FQcIfk9vwP\nouTXaNcBqGgeQjXvlTKBNpJD1t9/j6vR4l50LptDwff9iWVMbcuhZniiIK8z\ngo2IOc07QY1W1y6mA/2CfrRwkRzj/iDZ4W2Aif1x64uR4xuxHVUDm/bNvFO9\n/G68\r\n=QP1+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.3","roosterjs-editor-core":"7.2.3","roosterjs-editor-types":"7.2.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.3_1551814933962_0.625483347727001","host":"s3://npm-registry-packages"}},"7.2.4":{"name":"roosterjs-editor-api","version":"7.2.4","license":"MIT","_id":"roosterjs-editor-api@7.2.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ee9686066b91aeb6df7438558ffe4b7228e6538e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.4.tgz","fileCount":309,"integrity":"sha512-CaxsUYCLxdNM+OWD4NM+65UefsiORujKmZjb05em8jaTXf2O/8JQ3FeW0Y/lRiRGNDMqv8/+yw8u+W2mMiBgZA==","signatures":[{"sig":"MEYCIQDURk2lfjUX6J3hEd30MPbeFr8QVtJxGOKbTECBIjle4wIhAPqBl1lS4kMKbfPjSRevWMWMAxOzUx/37cjq/dPqeKX5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgCTwCRA9TVsSAnZWagAAA6UQAIgqpCj+gWeGdUBt1akf\nglG+m6/gB4qSRyM288hYOmm5gxhF5CkQjBp4zOqpGceBS4mIhM7OXvtazHdp\nd9RM9ZvSZWBTjqW3GqlG4kCp/ZNIH1HVf5XQVaAJ8B8u4AfLXV7Tn4Psazm/\nEMLjWTupX1E8Q1DlWFOTYrbqKshF8/hWly2wYxVqWkW2e/5fKz3pOZetXaAH\n9xtVDrt4LKw3f9uSznJk/aDoFZMCBzXCxTtUgQtnNYLRfqRCR8hykzXeMK+n\nUtdtOcrLkUhbCGZ36rtQaH1EVTuuxP38RBUOHpJ3hvHu0YDyaDzLRmvMlHwp\nwBcpBamTTuapZsaX0MZhSL9LlvFy1vE0TtRemwUBs2M4xsVe9jBKLVehz/A8\n1/j+13PdhJX0eJpRM7PTH/ifBT02ozMTZseeK/KGKG1l+iXjimkJ7/wOnFhN\nUOm4JGpgxrX8SCYcDH1H1LuSEFF+C/oSh0ySiH9ABMDrsUpKOhgqSpaaFmq/\nOyGMZvpe+iQkJU5AZfXVKzEAa7uemym0NA+EBfJiULY4MFk5BNJxP5FoAt1U\nk8b2/xjF2eP/0Xkf/xTF27BJ7L+hlOuoEldNKbGXFRO/bWhdrPrVVWQpJfSq\nYIDw9M65zOZx79UCbcqKWM8hHLi+MW5my4wgNdirpSJ+wmBhTk+EiF3/z9Ii\nD3Hg\r\n=G3GM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.4","roosterjs-editor-core":"7.2.4","roosterjs-editor-types":"7.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.4_1551901935696_0.6880611741381908","host":"s3://npm-registry-packages"}},"7.2.5":{"name":"roosterjs-editor-api","version":"7.2.5","license":"MIT","_id":"roosterjs-editor-api@7.2.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fb5e661fe99eb34966d04d52e1f5a9209b5a7cb1","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.5.tgz","fileCount":309,"integrity":"sha512-MkdcipAvOpEoE+jncldSaR9BsIAMygIMCK6q3bwxuGFlsR1PKzh/aA+UbKCeZsRV9TZPVBRYEirzi4MlvCf5Gg==","signatures":[{"sig":"MEQCIEDb7j9DqwMPkBdvN4Ycd4Y2FMfqdlYvpSje7Z91x3s5AiBpkdbkmX3zaYrouWmbp2kzkQyvrfHsTwHgS572ebkllw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgrSuCRA9TVsSAnZWagAAgcUQAJ1VYyRIKTHLBFZUyL3z\nYXRv6b77sQktYTT2v7qi09rLijl5XFF4ZJ7RN9m9MLkqbp4UHGWDqipsqVDx\nItiDmLpWM92vlKpIsxciuwH/Zbg/vFfU+Tt8kB1IOis6r1QtBTGmJibIzZxd\nP8iYsWJVQVyArxpAJsRJ+UZ2KtyCiS7Sw7EFjKB+6XY+V2qa479H8BVw3Elo\nimLsk6nTDwJz27BwDMlGWPTT5TBGejpedOzY4jD/rGe1j5L79JhI7iLfH/tZ\n8drdx084kxsesbIDD0Jarr7LNc7NWdbPehBD3Y/4JTsvq+N2uFYVQBwbsKph\nPhVs1XdORMdHs+WV8TPyz7auMFVi4klpG814pNHeAJqDRZSBAXk6faSqEKSZ\nudRt7OpiPYiPjkXW09BZy14GTZEXBSXCnr7frXgUuCDW0bdB177JFUGTJizI\nt9J9DGZ8mSTyc/aa8KeAMoLXOYAkiyTcgKqUbP/Dqxj9n3UEtXLk5BMH+6dP\ntOLrTNWAzJm5mK1oqZ/XCoQZrH81kO9ReQ3aj3Cpe9GdptjrWSBODlSTrpxs\nUt8To8V6taeOPirXQ7w3jQHAb4aUCkpWJnNBZXhq84162Vw/EL+DG61pjUoG\n4wkxafryIfmdmiZ2T4JAPyC9Wi00/Ry6gNKJBOvIYKwxCF5c9TL7SIh4a2jS\nXV4w\r\n=3BzA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.5","roosterjs-editor-core":"7.2.5","roosterjs-editor-types":"7.2.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.5_1552069805493_0.3401165322724753","host":"s3://npm-registry-packages"}},"7.2.5-darkmode.1":{"name":"roosterjs-editor-api","version":"7.2.5-darkmode.1","license":"MIT","_id":"roosterjs-editor-api@7.2.5-darkmode.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ca24bf5df53fb32ab7592b6562e9d872e8fa0b73","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.5-darkmode.1.tgz","fileCount":309,"integrity":"sha512-jOsUeaJ7H1B3FSVGKAv9M9hJRXWmGvlNgzceZty/OqK0G1c/+qVwi085eQZt2QFlIUlkvMMoHJSFFL+n4fmaLw==","signatures":[{"sig":"MEUCIGhd6CDy4XFDfKw8bMAm9H93E6UM52AspwWbZJ1xu49JAiEAwxGu0g55S9usIDINrAQMhXJu3qs7FEdhfAbz8d/r418=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgsCRCRA9TVsSAnZWagAAGZoP/3LFmTUWKSjFG0g7ZB98\n/P4BbZq6KJzG1H0DaGZu0gnxW3kDo1JYFvJHK+BjtynzHghNgCq5JsXuFyg2\nSziPqpZ5aBDEjUxKtetgTl+f1B2QPPZt9j7NfLItNvoiAE4WszUewLPjGCNT\n1Ez1iAkqdvb7w9kkEi7MEvaxNdGyNPCxlCa+vlWC2XW/LRkUjWtnG2CEgo+a\nltm4grd2Zr6kdEDUrlFUn+nk+NgUvDOKgws//oxsF9hMnGhc4ELVM0bJNk5e\nwyAVCcNBaAv62Cfq4miObxRz0NilT/dRpSv+eYYr6U7FQNxB1ScbjJMMPOeU\nrAI91JR/WYFrdYtU1bgBhh4Zny1BlJ7lxgTMeGsx+9jP0Ql2XB2+2ZQKKJ7l\n0jw8Tx1jeTpFAhNtSWuaEmCkHbYcEgjDCHOOYJptNaGqvibuGFTq3C8OQodV\nH8Bd7MUZBrz3LjkSEHJDK9H+Zl0t7S3nLFDTOEXCQyb1cXooMElBn6SglYEj\n1WC5dOGrrXp8345ADW7GZj+kFq2KF0FnbK/u2MNH3UkbN7UJWXqguYxx2a1Z\nH9nWGoc7537E0Q2r2FWoeQRnvSGeN1MVN0ynx8f8NtnsJSb1zfQ4hJzZjg3o\nTF/esWapzHJzyo3KZvUGWT5R5JcebOgsbRWtIIeslk+6wAqOt8lXI0j1hndD\nLO+2\r\n=jEBg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.5.0","dependencies":{"roosterjs-editor-dom":"7.2.5-darkmode.1","roosterjs-editor-core":"7.2.5-darkmode.1","roosterjs-editor-types":"7.2.5-darkmode.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.5-darkmode.1_1552072848711_0.10179692476907576","host":"s3://npm-registry-packages"}},"7.2.5-darkmode.2":{"name":"roosterjs-editor-api","version":"7.2.5-darkmode.2","license":"MIT","_id":"roosterjs-editor-api@7.2.5-darkmode.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a04c6445cd08e6456d6b4d632eae86c0f93a0d09","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.5-darkmode.2.tgz","fileCount":309,"integrity":"sha512-EUtbpjEs+VoT9BHWbuP+ndN9OFIvermwgu3t0IDd5UCl51pT6tvnV+m5OmDH8duWhF5i4B77kni8CONwo/eXPw==","signatures":[{"sig":"MEUCIA+xnTsh9eE8X0c3i5eQNgb3RRVIhAoD5FCIJvCDCbGCAiEA0PTkyGF+7RnmyJCaYkN16ZCo2OssiNxIWSBoXJGzkbY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchqxtCRA9TVsSAnZWagAAyRQQAIW/qcIPMJDmCD+VysbP\nLuo9u2U0roOIwf6koXl7fgtod713khlsPLR125RnDagbLTH+d16zmUudWo5E\nTs04ubnDVQBGciTsoiO+T91soo9jvqwHvp1geEowSwxCzb6tWE9KTdxREaTe\nFX22U1npPwWF0S60B+pMEpU2IyPVwNvWo8FpwjgEg7Zf/KOoEw6dZ9dQs30w\nlUBcMayAc+whqoR19Tl1zk3A8/SP/JTFIrf4vBCkTMAFQuYMK6mjJ8BWN1Bc\n3lRoJbseyAFK9s1yy5fpBwTjS9jSIRWiYjQPNlK+Q/NyMMAfyErP9nUrcv2+\nGvj1j2Cn5PAPEyOJHr3jUrVToSW9rq+NJjNgnTikyEfjmCCyyUkA+CcqH4b3\nxWrcwwE1a1FzDIbdh/oAWoaDnoDu6BZwtSKixDTUxXTcr89A0PFKfmOrMLc/\nZufFc+hth1oisUOxsJY/w/Hv75aictIbJbUUXA//mJmwsR9dhXJSbQ7KsgUu\nJuXexYog5hFh+2YlM60vck/r9n1R+U9GGDVP/OBokR79m1BFaAGfULnyMSyp\nt/Qpu2kCaM5iB7NQxFi7cjECOk27ZH8Hwc31tPJVaVFuJWEBuBUkr032zBjo\nKBkGvUypL5rufsT/ivJUKnhW2vApIYqZSvJDNIx/0hZ01FHhzdDfMUNOK+IK\n+8mA\r\n=Inx/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.5.0","dependencies":{"roosterjs-editor-dom":"7.2.5-darkmode.2","roosterjs-editor-core":"7.2.5-darkmode.2","roosterjs-editor-types":"7.2.5-darkmode.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.5-darkmode.2_1552329837087_0.056476184272039376","host":"s3://npm-registry-packages"}},"7.2.6":{"name":"roosterjs-editor-api","version":"7.2.6","license":"MIT","_id":"roosterjs-editor-api@7.2.6","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"2c3795db80f27f6f4adf8b70a526ffc428d5aa2a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.6.tgz","fileCount":309,"integrity":"sha512-SmvbXSg4wuW3s7sajGyWHIHMN6KVV5zTOWIU1vWXyynJ5Grr3QWCo6K4XFoIYS/9KojCktnULnTtn33p84IG5g==","signatures":[{"sig":"MEUCIG+41lCm9F0HcEzBmUEQ+28z953gckbKdNipGAIyTiB3AiEAyf37RVi0fcAic6vj+PKl6T6UaNE+KbiR/4hu+Xankn8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":382898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciX5sCRA9TVsSAnZWagAAx+YQAKD+uyCBDmXDtWmlhUyy\nglPN1NihAb8W9wtnImHdp+PiQTmfz0xxZendlnJHH6EduJnhujvQb6ojpbqs\nIahh0HGm4y8hfkygQLEXMyVksgHOpBF3CiE6K88Te7/fuov8IceqnM3JBdq+\nbK51Vu87ROdfcLsYIUs4D1OOmZE3W5aT+XjCRr+gA/EF5QTXDoTCnJ+FhTbe\nj9w+nrGHrbxIj+8hs54EGC4doLQnCRoJKson06/FHe0mGwPekLVTI8lnCpIe\n59Y4PksigROawh5rPLBv1WEe772DvOvgSsso2dW0orm3ULOwxdAU1NQ3uLRQ\nd1TPrFnx0C3/Z6RLA8b6Rnm1aZzW8EqDafXjf516ilRARDRW1fgaQyezyCj9\nr0KEd50rPiq3yzkKGOHMH6hWLYLi641yocexY2kYmCuqRhq/4bDh/T44RAJE\nBvqxmw16MgXwEXYy5g6TZWlDyQz+Ukq4evuzkPJicWOBqV0Vcc38kepnWv2V\nAGXEZOsXlC+BH+RE3fGR5ANjawqBdiEo7dMl1wZVXvtRss1PAqp6lZwd5UgC\nGyfb08M1y2/ny2XvH8DWI6RzrLWmWFUxQPrIQYbWcUp0RF5PNRQoZ/Sze3X3\nbaVwZMfK+vLrvKfgsS7wQ4S2ANNFQ0lzH8WjIQbGSnIgOlNOk7MRVUCgI1wV\nZ6hy\r\n=DA/h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.6","roosterjs-editor-core":"7.2.6","roosterjs-editor-types":"7.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.6_1552514667503_0.07058542146880464","host":"s3://npm-registry-packages"}},"7.2.6-darkmode.0":{"name":"roosterjs-editor-api","version":"7.2.6-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.2.6-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"b3d6be8f6755c74bc61adcf630c510615c2583c8","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.2.6-darkmode.0.tgz","fileCount":309,"integrity":"sha512-XUQEpdoxia8Du+TL1xGkfKOyQM/UpM3sRby0mPIqwly9ANALlQw2qrQL1azAcWDsd5ZFaSA9RUYXy1WrJj0kxQ==","signatures":[{"sig":"MEYCIQC7Ay3S/1Zag0av4rBjq3iMx6iFgKM1L+rNh5avI/9HdQIhAK3nJj0ktBOAcVcnQg3Ojr60P5ZnlHgHA9nIaU7ooNMA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcitNkCRA9TVsSAnZWagAAqMIQAJfGeOiO2oMnmN6bHD/+\n0Pw+Yc7qyBViHwfdjVi2AdeHydxiAFf1/u+bOoyDokC7z42x/AwVuzQa+6e+\nruw1uUpmP8npXKWnRh6IMP9KlYNBbuR46ns5FvfEAOA1aoSIsA6N1GK7p20s\nfNeUDSrxiqxkMcnPMfGiYSR3CzFXaEAqrhWwg7MM65K66Sl/j62wIwkziV80\nOc7DRetdZNcNQoeJ7NhPKfZvJFFZloEm/uy02pyc4X3Zr0uiPS9q1OdVN7Py\nfvMJj0fTY2B/4AuGEabUBTHZhAqOtVLPR0ppcILMqJi0/gvMDLu3ay/0hzFu\neCVUjLlK+VLJxjOB0qEsr7XTORpOgxiZ3HzOOc4liacpYA0nKs0oTc1Z12/V\nf1SZDsU7VJLvXra+1x6+vMyljjHsC13ON/XHdUcU6pIKnPsjLEtaZS58x9k7\nL7MUe/IEqCplK252GuRxaXyJHGjq/8J57OwfzNYyH/9Nj/POk1JDKWZx8pXQ\nZigDE8Um10lgA0MixgXKNonxOPw5p/yAlGw1JHVeAcinjC/93+BYqofmmr/p\nJsetM+8ttU/AQ8c01ZvjWLX+uvLrQbwVVlLlKEPE8khBSM/5ds5CZlTxgQEZ\n17t5RL9IAEWQ3cLVcykRIi3bYwvLgX6qrLXfjSMb3Yx6QuapLlWPFq/+6RHw\nB3gP\r\n=jGZU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.2.6-darkmode.0","roosterjs-editor-core":"7.2.6-darkmode.0","roosterjs-editor-types":"7.2.6-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.2.6-darkmode.0_1552601955630_0.8333660943146277","host":"s3://npm-registry-packages"}},"7.3.0":{"name":"roosterjs-editor-api","version":"7.3.0","license":"MIT","_id":"roosterjs-editor-api@7.3.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ec4a36dc657cb41a54115813b667ab848be82ca2","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.3.0.tgz","fileCount":309,"integrity":"sha512-UMFJK3t/8J5dn3fNPQy7ssi1YSXW3OCfrwA0PeF/unSSFDjdk9kramEt4GGrUilcfQmYPqwP81HKU3M14hTTYQ==","signatures":[{"sig":"MEUCIQC+hxlba4OTifaxVgIFb/1/qMs/Ajjx8ipzpRob5SgkmgIgOKy7N4YjVh4WN59XQk9jx7IUm9VOoyCiiVKvqYPpsi4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcq3kqCRA9TVsSAnZWagAALZMQAKUsX3Uvc4b6fCL1s5Q4\nIfsWKg8pmdR9pspewTyO7/rQn7RmB5qJoNCyRejZIrKx5UzAWYYmGf6Ouqzm\nNcxk4opELn2z7CWzr8E5gy7v6vh+UtBlnPJAJdyuxBYAfJ94w/Az7ISZELBf\ngVCynltaPjgPSonF1kfnqA6CMJvr6x+2j7GcY9sFI11+7BqCcxdxDdiJ2YmU\n0v3/NofyMx476793an1LcXzSQS9HdHONN3w81ZQrRpc9xjI3xBpJsBEQwYCk\nqpufrwhniVSAYAl0krOlL1f/BP1qy1YbP4GlauHhln3NzrbqpmQP/gDjgILS\nlL+QwS7k8uuL3ExlNznKzLX00TPKSu9IH3WnMkzwtRmgxd1IS6HkcmtA+8vK\nMblUYFDPOakqNUeHjKXzLAjxJnKgCKYyuep9sC0kRicbdnaXX2K3Bda7FYSA\n0HWYhlVyAc6WcFZJMqyJ+UgiuwRxOxDwiqFlDR225nU9v87QjIPvvJbyRCWH\nXifah4HCe9qjqNauD0F8/qbu/JvC/NBoraj2MjynFRSSlQei+fqbYMh4/XR2\npaa7mZ6Eu4k+fUlGrTtweU+BZUtR/Cy6kwAbxq1gbzF5qx5A3mL88KHIuSya\nDmNF0kgDJ+r9xvK/ugaK50sGnZKH0ZMrZe9fvCrxkVmy1O1AtOjqR3mHAs6M\n9lrG\r\n=kiMA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.3.0","roosterjs-editor-core":"7.3.0","roosterjs-editor-types":"7.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.3.0_1554741544742_0.4506389079866169","host":"s3://npm-registry-packages"}},"7.3.0-darkmode.0":{"name":"roosterjs-editor-api","version":"7.3.0-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.3.0-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"aa562b02e29411a971f7fe082e86b75a67026c84","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.3.0-darkmode.0.tgz","fileCount":309,"integrity":"sha512-lxM5FaC1pNjE0I2eWVvdRR6bGWrYvoXq4dITUIJ6P/KKItFcd+PLTIe2CWGL1DokOSDXfDb+Ze9M05H5PXlHBQ==","signatures":[{"sig":"MEUCIBJKJ4h/L/4RPJK/6d+Nf/RxXUa2JtIqO/TiVOVvAW8fAiEAxMaqxNcPyILIJvs/87iojepecbgSGDv3i/5LclGeNPw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcq37HCRA9TVsSAnZWagAA4MYQAIJWVzfHN7sx0nShNWFP\na7Nxq2ab+VGVwBIeLe+4wtN/uoPhbOvlm/KU9e6IeQLaQhd7qjSsHxR2H6JC\nz0SxmTMWL0Z+WAQAzk3iOPKxEL/f2rIqSNDRKeJNh5/+Ic5Svg3oSnNpZNVu\nEZFzDR/vdT3Z5Jn46PV34NmII51hM2xBctKLr0WVq4tS6HmVLPZc093WGiKs\nuLPIu6h1NKD4KUTBxvN83Icc1+u4AHuckSjCqqbW+9K7XatRv1J2jG/ne2+S\n7+bERVJaVIHTzubeSqTi9TNvCo80HigunV2PN8GuKmNo8fXV/nP7VjSd9ukz\nAox4GVl+xyxdYV9fNJ6qe7iqJpEbqqFbgtd3paE9jZP4MQL9Dtk9Bj/oO7Lh\nDLt7yh0+3ALBl2eWgRgXJZLfTJ3hxkOXRUcL/Gv1SDuvgP1pUJMU/XDA6diQ\nlC5FMhE/Trkeyl+uxsZnA9A+ONmp8p34EqcMcG2hAGDjia8xOCaOD7bG+reQ\nuMlc798mu116nJeNGvgb1J9TXYyXkAlM8R5Dr7Y0n5CgcE/ymcWetmJLtMks\nUf7tkXBvvo2tN3/LQG7SoOOCtpDu8ld64iSAvuzRIp9rgmqAnlVGXDdP5PWj\n1G/INt8l5hEfE5sbwlTbZAjIm8fa5RV9eSDwwISpaoHIbdWukSgsyLU0DWmj\n1Nid\r\n=DA3c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.5.0","dependencies":{"roosterjs-editor-dom":"7.3.0-darkmode.0","roosterjs-editor-core":"7.3.0-darkmode.0","roosterjs-editor-types":"7.3.0-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.3.0-darkmode.0_1554742982446_0.9074137618907083","host":"s3://npm-registry-packages"}},"7.3.2":{"name":"roosterjs-editor-api","version":"7.3.2","license":"MIT","_id":"roosterjs-editor-api@7.3.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"edaf34ad98920e99f504d4008e57102749258892","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.3.2.tgz","fileCount":309,"integrity":"sha512-NSchKqTxxK/0Wakmm13YF9cbZ7c5j10K4oHW8vzQfDDK8y7Ai587qmj4q0M9mbYpAlZac4JqipxQyIomc04HKw==","signatures":[{"sig":"MEQCIG9v0LJ/32VeA117M9zMoWiHfycjVXXUraW74+SBTVldAiBIFt7MrWzTGNWeqXhaoFFnJnJu99o+Y1aB3C6XFJL+Nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcx3WnCRA9TVsSAnZWagAA4oMP/2gLNAYhPuL5PvXYlre8\nTZ1OtdGZ+f338z+7WTFgGPJFdvf3JhkEgfgzqdKNFYt1/pVK8H55w0Ff8h7C\n8DKB9Qod3vOHGjcLyTCsaXlS8+C31iIuN81j+7xRi18N/3ycEBD2fZQtpl9G\n9KOTFIC9Gcgh7DUQxncXhqsMypd9RgbTbw3xo4uPoCd1Ofx9tmnsRiwnfFcE\nj099RjzzFGUx7hmSuxgaFuOAXrgjK7hOzak4EVs1bZtFm4pVz6NZ5P0T3yuG\nzYZpweZiHFlg2FDFIeFmadAbTXuEi1EGWJ9tVwFsVif/nt77GX69NTso5SEr\ngRJagSUNDeugkJAjUFCjWthv8HUpAonP//7q7SIk/6mvVd3Bc6TffxXaAQvm\n/G5e3i6kCAl+vzm3SBbjlIeBPby8MwBHEKBb2p+RFuKmbsSiJPgvtRiQWEbA\nWZ2FOgP9r6wdlKW5XvBRZ5XfJKP1ORMFgaUw6NfDkD8Ld2YrR2B9Bkssadxg\nnh5k4EvXsSFPUZKuCyCMHigVXpwMgBlIJBBGyc3eQ3CkXTGQ4tjcWrcKE5mu\nZH7DoLBJuyVzHUX7zs6+cdcgFMvifXD6Qzj7lOtSwm1CPFVGNNupH3ZNlCBQ\nS4Bh0Kap3OPinYbEqa1hfYqug05sYZelbUMgtCbp4ztLYzR4G7Er2mdqLbyl\nNINm\r\n=Q3kc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.9.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.15.3","dependencies":{"roosterjs-editor-dom":"7.3.2","roosterjs-editor-core":"7.3.2","roosterjs-editor-types":"7.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.3.2_1556575654575_0.6707812377751752","host":"s3://npm-registry-packages"}},"7.3.2-darkmode.0":{"name":"roosterjs-editor-api","version":"7.3.2-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.3.2-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c95c6f875c6b2e860808cad396407e7375532cca","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.3.2-darkmode.0.tgz","fileCount":309,"integrity":"sha512-9xo+0UdHh4VDKaavrcUHaIQP4axrW8uJDjTxIz/KmL1gfCDI3ETOa6SprkZBJhZDwsdG54vGuqPA5gNRR6BYqw==","signatures":[{"sig":"MEUCIQCpRnoPRVTU7rEl9V79pzAMxWzIcxrfWuVI6NWiLrx0sgIgHNXQRtP/mCz2is8Yc07uqy7+iErUcYyw9jXwHFlZ+Yg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcx3hmCRA9TVsSAnZWagAAuLcP/0xI0a1lqVTo4qoO6MIn\n8cjRCKDiK8ZVVzB3BMTQgM398QiypFAMcuMZN2mRNad323XPeZXY3nqNPGrE\nSO8pmLsPAcMIUblLpAhnQ3KwDyU8qqeqDin7nk7fs4uEeR0EB+JuHp3eY0TI\n+kMMtoECkN/dcLYFT9rwxfgjHkPFUHe5WpRFBwUpEe8IG9MXYQ41n0c4u7yI\nIMf0cw3EkxJxgr2zZeFWigjGy+iMnh5LN3/SvXXQVxAlGg5Ebnm9o/xjtcrr\nqKgwlEPV1CTfqveFotmx1u0uMn9Tl2sctEoz3IRyswDtzQoFxqr2srXtx/nF\noMHtZ5y3hnTLgDP3fV6QnNmPNSbJUrmEu54cASAJ68qnhZQruwLE8FMNH70l\nH9NbV+CUxikVHOtgBAgwUKJqh+kcHahPweFsF817RJW8ze83yS4e4Ifw2OEs\nnRmzbXfOxtRgTRIb5A5W7AZde0SVzTl0QEnRPSkPqwLGqxujygN7bkIh+5V5\nXafje4PEAMASfqluQnXQe60bWg2wOZHz84SByDaQ7ox/yDgKXlW5KrRU10fl\noctMduPn/fvf4SOhZD+S3iRtdCbt2UVBZtkkJQF1ACT/cHtGd5Brnns6UZwn\nkN7ZtU3Syj7dDvor0JAVOHWmq0+w2TQ4OcyMm4V1hBEmKB+lGP1pNjUDoKi9\n52yJ\r\n=buzj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.9.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.15.3","dependencies":{"roosterjs-editor-dom":"7.3.2-darkmode.0","roosterjs-editor-core":"7.3.2-darkmode.0","roosterjs-editor-types":"7.3.2-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.3.2-darkmode.0_1556576357535_0.4663014872283697","host":"s3://npm-registry-packages"}},"7.4.0":{"name":"roosterjs-editor-api","version":"7.4.0","license":"MIT","_id":"roosterjs-editor-api@7.4.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9b3d4b647d794587ad74d77fe2733beb8a76759e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.4.0.tgz","fileCount":309,"integrity":"sha512-vlk3K4JkHV30NIEZUCZEBt3Sg2QBZ2ueNZOd+kehwJUaiMrBvwjFnudlPBt4k7ovQGf+7Mp4ZH027F2TkS4uKQ==","signatures":[{"sig":"MEQCIAqSk4139bjwFYUvbJLthSDF48mCj21ODmTXZvKxqa/MAiBui9RmligJ5cI2wQiE8vmCFJPn9UlNlP5UIc3VSOaMSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/pLbCRA9TVsSAnZWagAAI8UP/Rme8naJT1HKNKOSGUn3\nf39NxYscAvE6GOGeS6wmI6kC1O2nWqH01jPIIJEeEwv0Enfa4fLrExsthO9n\nnZOz6131OPZrxwjf3ExvI+PQLh5Uyy6TGcVe+wRBE2HdytycN4jK+vwRZr5s\nJ6eMMk5Xs8Aa1b8jiva70XHLp/VA+rVsbE4rJT65Rgcj+XeitxEXZRgarHjt\nug8Z5yGID+o/H9o+V5q6rPYZWDjWaJm3ii7fTe9AJPB6E9SCq3jl8UUfqjl3\naoxm4mo+Sw/XuC0+xTnDpryef48CUrqon5v6SvCZA69YT7mCxXIwrWgMbKCR\nSxdi6WcfiS5m12I+aW+WZSpYQKp58pTmH3WAKiOjNVvVp0TSh8h1T4wNlFz5\n4Sl4tdnCfY0nJ8wURco9NH+FM58c/qOp6A3CxFhzgAQa2adczVwE/+sPOvBd\nSWIsHIdmS20NZLvZ9EnuCYVnyO6t277iWAahyEbrs1s2DSxc5z4KjzNNVgav\nONiu4S/9VXI8F/iW2su6GhnhPIQCACoDh11oIeEXT3QMB71fsmjaxlMcPPmo\ntKC+NkyNedClu6a2qAhc7ywQaoLL+0izP0HOseSUG5ZRwMXBx46osVGKTrIt\na0DKmaUxtn5em2xjKuONPICWWXWXC83wI3RPMyQPF9NXTjQ10Q9OQ9Rprz5l\nL2N6\r\n=kqe5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.4.0","roosterjs-editor-core":"7.4.0","roosterjs-editor-types":"7.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.4.0_1560187611061_0.17033359660940506","host":"s3://npm-registry-packages"}},"7.4.0-darkmode.0":{"name":"roosterjs-editor-api","version":"7.4.0-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.4.0-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"2644af90e3a55feeac330667349e4b06532e0347","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.4.0-darkmode.0.tgz","fileCount":309,"integrity":"sha512-cByTe0oKRBsRxsXvrodeNn6tuEbvZkKCjjwFG0ZIP3bwo3NSNJuzG1h90HDferW7II7CUNvyIUddqWCKdR69kw==","signatures":[{"sig":"MEUCIQDlIDyYdpO0LlMaAqAsXuCLkRvlZRp3U1zwfi0J9o5qQwIgPZxkNmN/tYYXQBawV3oU86fmCBihrfs2V0+5COE7ef0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/ryCCRA9TVsSAnZWagAAnyYP/3l4YeFAyQjWUxI0oTbQ\nWA5qa16xmFqtHvCZ6ylc9UE6XrpgJmoNfvqkt+pYkoyZwC5k6+WKilQEhRVJ\nUVJDRTdj7j32UgFE8r8r92uH289ggUTKvQlXpXdopK9OKlXhykOxNlLv1iz5\n+olXXwSTG67BN1CEKI+lIK2CPOg6J2/8/aqBztND61QuXp/pB62Gy1K2QjeC\nxELAd/xuqaYzXkqOln3h9+AfRyZB+a7hT6LHjOnpWwE90+gGT14cDyjJ0Jju\nEkP6p9ltGciDm52JOVr+pS91i4FAcIdeXUaFEhcXK0MCFiYjlpmgJzMlkhS0\n5i9xPYajXhEz4y6BIrlz7rkpLJ3lm/GCOb++g2hM8QXcAUZ0AlkYvJBxcB7K\nfB6W1w9ouJhGaYYWhvI8nH3lvLb0Z2sbWH2YsnSysZ5x/m6QdJYgBkhGgoiF\njifOv+rq44izqW51z7Zm8D4s4k86EIygn/1g691ma8NXyuqkchx9jcP0wlAB\nIlXh/j3uFZLzCQXCScaQXxelnpzJZyxl0/uvsjr3yvwZFOtvAossJJVuP9Ht\ncudi41gSGzUAww0ACRWw15Rgna2WP0PUlPfClAVpykMQRSB121scCFSzc+0C\n4GcVJkxup58NqfYlynohmtYWb42Pf2DskwgGeyeUHGfeTdy7/1IlaKzT03A/\nJjFP\r\n=2XPQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.4.0-darkmode.0","roosterjs-editor-core":"7.4.0-darkmode.0","roosterjs-editor-types":"7.4.0-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.4.0-darkmode.0_1560198273566_0.8726731365665887","host":"s3://npm-registry-packages"}},"7.4.1":{"name":"roosterjs-editor-api","version":"7.4.1","license":"MIT","_id":"roosterjs-editor-api@7.4.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"8f9d684a6ac134a74e5f5669f15a493c84ea41ab","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.4.1.tgz","fileCount":309,"integrity":"sha512-m8+iLbOIjUJvb/2JpM5Xr3iWIDJggDheUf7ybYwAmqQbgPhhaayU+dyUR8peFDaz8GYMuxVtB4AdjfRg/X9kHw==","signatures":[{"sig":"MEUCIDelt9MUsKjn4yWgRNAEqxNDGl4FWLVaVEeT20oy8Ga0AiEArAaeh/SiAOhdNrrAWD1EbX9DiguPbplnwcxE1zJ2IMc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdABhWCRA9TVsSAnZWagAAa0kP/0xZdhtw/Y25dkiQEged\n4iYwWr+S8cJqnK9v0l4KfMOKyrwO6vM49oF1dexIlL0rEd4kF0O9SZ/1t5km\nmvf2j5HwbYg5MWgPWlJYXGCGjU5+TRLcnLCYdJ9ljZYIvcRByV1KmNoo7n0E\nAxdomTLyLavVNz+cF94raH113l6H4VSOMv9CedyO/WqdmXrIOZCS1id29zDi\nw0o23m/3nMXsmpaS0GGUI2HhIBop9v95gf4GvYb2b4ALDCNn+wJOaMVhpRSk\ndGzMH0blVnUDIyL1uw6+yB/BpOD6ho4TxJtRQDGoYseOGct3yyhOD/HopE5h\nCYEWa6ZORKPDI+Lf5gNiXVAc50PQO3gZZUFkeN5DUhIDg6vgJKK2Vz0FBJ+M\nQiCTSaA+M4nmIXG8hLVEol23PvF1wVF9tMc1/akD0KtnjOFntVU7WEY6yfWc\nC7AAtEdxUzwGqY2wc7ichJvSJr+i9jEziAgWOPcEjrlx1qjLtEuAxKDPc3va\nyB8p+9a0UEaptnQlURwDEzJEOaoJ0RaK68PHiO9A5E8HIjsf0TX5/SdZWvX0\nkvq5530r/+rnl7/sJ4q3OXlLNXZhQN/+VpidyJCDckEq701XZkyTxprrr0P+\nyd2ihILswzmVEcoUjugoR1gGJmD2DgJer6gf8q32neMvBGM/WqvIHHDwZ3EI\nrxsE\r\n=dwkH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.4.1","roosterjs-editor-core":"7.4.1","roosterjs-editor-types":"7.4.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.4.1_1560287318096_0.4091350951657835","host":"s3://npm-registry-packages"}},"7.4.1-darkmode.0":{"name":"roosterjs-editor-api","version":"7.4.1-darkmode.0","license":"MIT","_id":"roosterjs-editor-api@7.4.1-darkmode.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c902a61cf1462de0448c6bcc1db66bd95a46ea11","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.4.1-darkmode.0.tgz","fileCount":309,"integrity":"sha512-icQF/A0XgMTkUOy5zh1gxBgCn2uraOxLIqFYmds5MczFj2ERK6X+oylHiHaFAvpoFOfT/xmTQO9bRioSpy5nsw==","signatures":[{"sig":"MEYCIQCVHcBh/ZtYdBB/Bena7Xo8ifwzQnSDb0soClIlRxIXqwIhAJ/ybv63Z5iW015UBlSbCF+AF4BBBgPzoiPa3lt77jjY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdABxtCRA9TVsSAnZWagAA5LIQAIx3xImiEpCBDrDeEM+v\n/ZBBuKs0ECkY4kr3kjYQxX8xPR27IXc/ao1ihTd9T6XGElotjyC1dN1pVlm1\nVgXrRQDnXuhzXzAKLjGtZ3iwdAfuzRRVHBFbPUgWPLEZscb/Zl26uOvNlHqT\ntJlCiVQBOCoCdfK2CZiKgpBhcbLnC5vKJeIg3RdrLZ2kfjLIlNV4Au42yjfe\nFx61hFn4X3URjrcjX/qgtb121iJWFz/4JjGMM+xu0p3P+tnDH6t55qFGH+sf\ntATy8F212wpubQ+EyY6R5qjxa7+jnBIW7TaxjfvDK0in4CqomX2C5ngVJiXm\nZg5Yhgwo8UBY4WZuiZzXUx9wiERym+4MeJJvPsseeydDFBi0IwuDB+A7DxH6\nwQKmJVlGGqze7bzkgczLPLuIWCJlUd+CbHp2+gxoIQfkh+Fa6FnN7uhYGRJr\nez8yCajWQCKnZXtXAvKCkNCLxMPY+3PbcxUsjemF3vhrqVnmZ+MJK3faIPJm\nwafSyKTM/0byNjWgoZ8O8ZPrWi5AdeBRhDdQCiZODBRZou16vgTJT/+XDCy6\nGSW42jadQ0FidaRp+VHVAsH+BgW3bdmuCStaHUzWSQSZKAfY42hpmYR12H/p\nsmhtmxckguGR1rdaNSswNBNjk7lXpyu+EOrXiBtXq7HngDYKkKRGYXSOThmF\nNW1b\r\n=hMIN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.4.1-darkmode.0","roosterjs-editor-core":"7.4.1-darkmode.0","roosterjs-editor-types":"7.4.1-darkmode.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.4.1-darkmode.0_1560288364817_0.8576452640145047","host":"s3://npm-registry-packages"}},"7.4.1-darkmode.1":{"name":"roosterjs-editor-api","version":"7.4.1-darkmode.1","license":"MIT","_id":"roosterjs-editor-api@7.4.1-darkmode.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c1cc93c77b5f7bf68c038a9a734cc2bc17398fc9","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.4.1-darkmode.1.tgz","fileCount":309,"integrity":"sha512-c5CFn7MUpA45tlpsHMB6Je3Bzr+5UzbE1Rs8EbHBy7vG2Vwm41cC8hzqpNX4pMVNm4n6uYPZS/sFVD8Oq+ldKA==","signatures":[{"sig":"MEQCIGctPnTDfuaLzMcQODoKzEe2/2kYcBPkspOXTJl9bPkxAiBTLgIOnW/IXbfYt7h4PxTNu8bFUzfMFOU6wJxJ9uHFSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOwheCRA9TVsSAnZWagAAVdoP/Rvdj/n2EZ003zEtsELA\n4EpCaskh1QkWtB2JOjjBPGJgWzcU9N2sE9SwOUrmcLFj+AL2Xqjfr5YCgo3B\nzdQpEbueZfm8F2nZvTZSJpRpb0qkOaI/m9bhLaARwYEbqR+XMjg4f3dzusjR\nNM1ikcILr6U2/tkWMhOJU7GTLeWZbga/MbUQiwgFN2HDNwZbEiaue3YE3OmN\nTz3ar6ZH5tzRRumKTeGYMKFyLIU0Kx0SyX0CxDRReomASVBV08L+CA78/D3d\nMbZ+CZeq/ZDxtqQRMNgncY7M6DvTWe3RzXb7xAdw26NaBFmX1BNCm6y+VYYm\nGqzALwheclwxx4zYRuATbtJ+O+X6le72HMEazrB73caE0nKzkc+wE+GPV5b9\npMkF62JcVFtOZmQdZMCa0/e1KHTKq58M0FaY7zbwhaSn5BrBWve0kVnt5Iij\nwYn4VLNDSNlQVFCLotW6O41m42LkO3BnCeVY1FtEL5y2BFyDB/JEWUtEQ/YT\nnLWdnO2ibDIJGl5O8Rdo3/BxX+Uj23ENXPhYoKvLkh8bNO1enIU0TJjEPPoF\n/JNVOTQ4GYPCAMp3CU/FijlqsMKj8T79RJNd/0svPikqAhbS+CwiioH2Lidk\njYdtEO9KQK+Kgm/6yOzK0V/PT5z+XAnMQM729cVGw+6U94tDxg2MoTM6Ml3N\nqxnf\r\n=vR/x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.5.0-next.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.4.1-darkmode.1","roosterjs-editor-core":"7.4.1-darkmode.1","roosterjs-editor-types":"7.4.1-darkmode.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.4.1-darkmode.1_1564149853631_0.2263373142779055","host":"s3://npm-registry-packages"}},"7.5.0":{"name":"roosterjs-editor-api","version":"7.5.0","license":"MIT","_id":"roosterjs-editor-api@7.5.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c84775fb1ec295b6ddb8cefea1346b008db12099","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.5.0.tgz","fileCount":309,"integrity":"sha512-Gu61VP5T1bvkxvoNs3bxIv7dS4hX+MVyR6aSwnHen3tM0e+pRupihrNdY05eHsgVmTUC1ox3tNclRwm1+TCM5w==","signatures":[{"sig":"MEUCIQCDU0LhwjnXCbMXz7JwQaE6IJqJc1BFIqXAb1MYBxa2EQIgQI7Qnf+x3Hcq20rWDBrceSxaJrFhCX79HheVCTZE5hE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQfLVCRA9TVsSAnZWagAA3QUP/RLrZg5IgC77JJR6O+cA\nqcpN96rZ3hvqYYloERpmwCXUl4Tvx/3tS11O6UR1uG3loxzR6eIUz+EPPl8U\nL+eY2u8N3kfTgFp2zO8cQHQx9aA2G9HMthQQXPm5HtCFMy36FLLLSZ3yMoDz\np3cVfXVFZyDgAp4Wo+vJMix/ornOix+xJ5QztacW37YQJu4kQpiUrw4zv7CF\nidCOJVHF8CezIE7Z3nWLBULcziKSlMTDPAtsiHIZQigxdA1byQjFC8Q0lg2J\nhO1zBaI7CLUXWiNk+oYQ4CY5eXBBahNYWKZzAU9SzkFEBlA+8IgQ+g0urHzV\n77CL8H0jd3FUz8apHckuE15z56kz199Cc1yvXKGYdy0mnBKofNCp6q8vkOJZ\no9nbZv1hCHLxuzEyd+MoWdNnZfRyO0DK4ESbJidAL6bDQkueb+aXWWQZLEbz\nzjRpBstIXlM9zMOY0rU6oGdReCK8zyOmHnU0rTUSA3rRGw8xh9qsuPBTdIeM\nfM0UQiaivlJl+ak44vrApP/mezke8EH6O1I8sQhDnpxDejTx6dSY1d+MdhrL\nWiMcBtD0ofwRukFLOM4/FFcCOdTJ4Q+evjKjN9LX+C03JKBkKDHmeu4gjZeT\nQz4ngsIPQRy9BtX7AkGvDq3patyrwK2xtB/00ZF8Uv7Z5E49ArSccXsvUPx0\nqyu0\r\n=AjsT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.4.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"11.6.0","dependencies":{"roosterjs-editor-dom":"7.5.0","roosterjs-editor-core":"7.5.0","roosterjs-editor-types":"7.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.5.0_1564603092570_0.20016134390099505","host":"s3://npm-registry-packages"}},"7.6.0-internal.0":{"name":"roosterjs-editor-api","version":"7.6.0-internal.0","license":"MIT","_id":"roosterjs-editor-api@7.6.0-internal.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bd7314e6ab54d7c4a94e4e2e895198fa85898298","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.6.0-internal.0.tgz","fileCount":309,"integrity":"sha512-oXOYOIpOiY3vGNMVH9XbiahUXPivH1OkHWejNEAzuBieW3Yi4JedqqnVCF93RplNdXPVNW+BCYBaGWUjqONYZQ==","signatures":[{"sig":"MEQCIHgp1Jyys1gsNTvInGqafqQcrNWF3Hax1jsbiQgj3d58AiA5HnnhvMXvNQFP2QiA5MT5RTCxTMbgoZfjfBHWlNWlrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVHEgCRA9TVsSAnZWagAACcwP/2i2P/BLuTsCa6APBDY+\nMcbeL1zo95nEI8IVbDVlrWocT3AvnDEg/CMi04LLId7QfhdshG1L+s1955xp\nKIK0qAhop59UfdGuuJneFi2ULkDggDV7uCypwRlp06t0jdPRktfHeUjlVelO\nBbJ1SWmQCsF8H975I8h5duN0sz73p32TXJhdqCmlidYDmOig+7W5yAtVik7L\nVziOgfm84xrxRk631bmRRAEYjf4WpZekLMwYJILzpQGKWYylugUUhQB6OjO6\najW6L7qWpJ9e3oeALa9cVijSiUk3F/hiPeiuxO1hucSM3T+6uyGaU1IJsxUd\nIMlz9RkAptFwucSKwV1bx3pRxMleV+vvGzX0GPRYIND+9U5X0n8MxBDT7Y4U\nNJL+hSETjzvU1Q7NHUggbXUA7fkKVjlSsw+U/fF2MkEatrrS42DuSVHk29xe\nxnYIEqAFePsAu4PWlHhNPQTp7BhQppjAuoxNYr25aFfcewKegZ4jbqBGMOwA\n0mq98ZLPr19POqsNlHQDewW1qIPcMvRp0U1jxRNE0J85oruZCMU5x7KJZAs+\nkhnCftjQ+JBsRsREdFpyZE0oA1LfoyPVuq3Ega/JZy5o4V6WbidXrHl/cdWb\nNmsoPbuHhrFB2jYiXbW93IzBq3BpKrzhLbCwbFwzOj8juJocR2jHWGKNWQpo\noFpk\r\n=b1HB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.9.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.16.2","dependencies":{"roosterjs-editor-dom":"7.6.0-internal.0","roosterjs-editor-core":"7.6.0-internal.0","roosterjs-editor-types":"7.6.0-internal.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.6.0-internal.0_1565815071325_0.9885259414237892","host":"s3://npm-registry-packages"}},"7.6.0":{"name":"roosterjs-editor-api","version":"7.6.0","license":"MIT","_id":"roosterjs-editor-api@7.6.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"806934659ed7bbe820282a446f121367e87f8ea6","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.6.0.tgz","fileCount":309,"integrity":"sha512-ml2uJdfWepl5ZLGh8c+B3H1TeJo/uu2/P4JrgR3eiftbYLlSXYNQB7opmnm01/EcxA21F1hgOUlaLO/7G41s5g==","signatures":[{"sig":"MEYCIQCKQazh/8e7Gow+NPQKriWyLUj0vxlU8ggdIw0cV2THLwIhAOmSk8e7iAc8syfiAHAanIMV3zaJj/TEdM6sJTPwtFxk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVJn0CRA9TVsSAnZWagAAwzgQAIBWdSM+ILVTJKsVZONf\nkQkhJrQo7h4UPKrVDLbwJvJ9osocQ2rO2ByOJu+JDtGOM6OiKfnMEuFccW5d\n/cJLXVeaM89V5wDa5VMbUAKKxKTuuTQYuHaNmt9Z3A8Bc2+kmxCRMefEzG82\nxvIcO/EyC00g8EwH2DgiJOeEjWf6lK//2Hdxj6aXUe3AahpDRWJ5EaJtBUn0\nQoL5pJdXMk1KdZa3fGXFiCoaI3WJlLzamBeszrHPqATbti6BL2UH2OqLK5Nf\n4vgxFEE3L4ihmQ52ed6SXEpsFBRmZa1DJOFis6G9EVzsovWN2seommb2YBS7\npfGMqztpABvWyaj7eF+WHT/w0wwCjMckP2oAleDKq1rzu3E62ZRo3X7M4A9h\nt9sE4+WydkBaNZSVohtXcyhmFJ9EyZQF2Q5atmR8w3W2Ik5BH3hXOESlXCmr\nBfhdC2TUtknyh/cFhjwmzBdoXdaxSRh1f9A4v/5f4ww7tobGqP53+ytBVIfF\nurwddptTcvPxXdJsZWmOjUgFYoCldqMHsXw4i3cuMtvgjMcbOTW9kPboRlvO\ndXqtJkwdjS0xv/NKZca2+6oQHsgs9CyokvgdifSUGdIj4nvYBjELvoIwurzW\nwaiAAoil1bjkYvKz4a0XTIO1/ChXxd1yq7ZQCYxAI9jbuxA+VZ7NSV4K9xlF\nHder\r\n=7Ddj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.9.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.16.2","dependencies":{"roosterjs-editor-dom":"7.6.0","roosterjs-editor-core":"7.6.0","roosterjs-editor-types":"7.6.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.6.0_1565825522208_0.24306404471249943","host":"s3://npm-registry-packages"}},"7.6.1":{"name":"roosterjs-editor-api","version":"7.6.1","license":"MIT","_id":"roosterjs-editor-api@7.6.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"5f3e7a69b11a4f43bec9c78b32f1b31373e11469","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.6.1.tgz","fileCount":309,"integrity":"sha512-imm+IQjyI4PsLR7NrYXxP2t1T9404oqr6FMQaxfCU+qqJIZpCkdKMuKK5fauo35Di01/5oVLPBi+ryl0JTrVtg==","signatures":[{"sig":"MEQCIH5Uz9b5MQmFTHMubtWoKePuj3+3ebLvaZp2ApkgADNAAiAGgBueSumTOyw5cT9lQxdT00/B+BbPLpT8nkxzmUwV8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVu3VCRA9TVsSAnZWagAATsgP/0N+VT4Df0/Twz3xjKsp\n04F/o8uFd+CaSaQ/jTlPbLl/9X2XE4bKj0dMurgzGFawQ3O6dsyccPiOPNZR\n9gq5a5DHmc7HQOtFzbKP2HP5vEmEYlZfKvdJSXO5aK9sQADnyHwQdqm+mXoV\nINDuNNFFoUU1F2Vrwyoj8GujwFiJlZLrUbs4YX5n/uJ8ZQhZBYDv67WG1OwP\nXsCEuhwQDliHY5Xw0IH7XJsym/DS0bPINlxumM8LHX4yYGC645oMOPloKJ3I\nGa6YuHy6Hf06bibSGNR/8F37f90iXbOQ1bhHYfe5S0ClmcfXMZfddUYvl4DA\nuqO3amaABu2pJgT36jRsePt9wn4k5496TW5SFTWH7oUMArjpfZDKmES2INy9\nqs9y1DTL8EkDWU95WVODrVnCGzlWbCB08zeRBiz9ogTc5VQFjUZZgXumuFZd\nbvtezLMPYHHb2Kzlx8jwKKGQKJIQmPkkHWOutqmdYi3Bp9NrDuHEoBmlxJp1\nX2Pbvk6l7TnFc69IVrWkEi72tLUNXb5qWbtrxLIiDcLu0S9zuEkanuXg0wA2\nXbUSgtO+51aDstSw7hXOzsiTcXETH39emFRdbZMcGeHXzBIGHOwadxN+ILUV\ndaIXDPz2z5+Izq4qmIWakk9Sdtyc5jCgaXPFYbE+jObVWJ6IABEt8tZfHI4g\n2IAX\r\n=wLYs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.9.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.16.3","dependencies":{"roosterjs-editor-dom":"7.6.1","roosterjs-editor-core":"7.6.1","roosterjs-editor-types":"7.6.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.6.1_1565978068680_0.47124140537087467","host":"s3://npm-registry-packages"}},"7.7.0":{"name":"roosterjs-editor-api","version":"7.7.0","license":"MIT","_id":"roosterjs-editor-api@7.7.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0fdafc6cb00fa23d77d8a3e8c87b1eb4dfa5cf8e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.7.0.tgz","fileCount":309,"integrity":"sha512-9MtwvWR92v4c9J+AJTUzUijwd3lC5isS5dD+Z/ahxYQEgJqBw1+1wKVmcvSuFjBuVynAZ7wNl1oRhK0YAA24pw==","signatures":[{"sig":"MEUCIDr76I6iRBcqJ83JX/r4+hCwTYPyJMDVCKMl3QjCZomAAiEAgLP7912YC3QBRWa01VB9tQ7+q2ZF+18So/8AJ/rywgU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZEsPCRA9TVsSAnZWagAAP9sP/2milrrYqrJpibqUUFZU\nwPi38BITkl7F9+Trv2c++NudwWVTscYlKHp4AH57NBMN6dr/MTtDYvY1hkVu\nmfYiJt1Nw0hPvIx3x7C7IRJGxIcIqKtikNm/Ecm9s0iNjHHbFTqYKWpCQkrh\nfuBj7Fsf3GsTPDMrJWN4855DhBaTBJ7BqLuaE9rJwloO6UcIkAiDzmAEbO6i\n3sLZ+IJeENaiwrB/q1K7Fg9u40vWXNc6kd2PCTq9FWn4GesQgSl5CM+izRN9\nPVyR7z8aCqD++wmy2+HTVDpN0bMAXwjfXFVxp6cg+tWbwW/3s3GxHlQRGqOy\ndD6bZ7zt2FgDXfbSJcCUJJSOYRHanuihuS7VCWpaqsjsc/U0d4AZaBM0nNsF\nvqceIdFJXfYVmQo6oO32bTDwbBM3Bqgy+HEPUzE+9rsBK1EQ/IgE6v2LHLQt\nUgiCvC5moZqQPJDqyhRNoPQM+9QLTUj+A3Fc29IEAax1YhSzUrwzMLFj/Xsi\nlP8DW7wd3sIvSJ2JXlaEhF2AEhNWINdQkVQ8BG4uOoN0Cc0JiFfNMApkS8sb\nJegxWtxkbCUXrsqc/hQ0EpUXRsHMh/wnxJcDbNjRFgEvvaccwOY8i1fWzjoE\nmY3U/E3HI9+u919BjOZAoCklVhJCill+vh3MXcQWky+rb/ruM2oJVlc2YJcS\neRtM\r\n=6+Hl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.9.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.16.3","dependencies":{"roosterjs-editor-dom":"7.7.0","roosterjs-editor-core":"7.7.0","roosterjs-editor-types":"7.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.7.0_1566853902873_0.6829784063735647","host":"s3://npm-registry-packages"}},"7.7.1":{"name":"roosterjs-editor-api","version":"7.7.1","license":"MIT","_id":"roosterjs-editor-api@7.7.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"5a0487e16b27011632362583c832e30efcb919a5","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.7.1.tgz","fileCount":309,"integrity":"sha512-dIx8sa5GOCPvJ5uL0OKfbppOdMax8m43JGbJKg6GTB6WaNUto9Wzu4F3cqZyYbp0ubvz+BkWWm6G92HppFJITA==","signatures":[{"sig":"MEUCIB5rReQHnMbbRGKuwU2KRovvURaLRXT00GlHKf8YrEacAiEA2M7+YDUDEcQk50+GMsumxnPBVyH4hzj1xS5P49qgOiU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdiSgkCRA9TVsSAnZWagAAN38P/RlNfpQ1B6Cp4jJwwcA5\nJ7OB4MRm3uEoaXdQmY+uQ54b05oeVZP3qgsP64xBlfQ+uBiPgCZrSFZ8yVGh\nd0LkkKps7n6qBs0WsDXfLyNrjSFizZLb/aH15f0BD3tufxdSAPVKemx2k+lb\nU0g+vjjBpAYwWPyNrxEzBuxGgTA1kPPVXKEDIGA1gpp2r73RSAlYrPJO/Ust\nSxrvtogjSp7eAAX3rNgcGd3TDYDNzOaF/f5FxVU6W5tgEUwNQuwgZIqdxXOh\n5fzgraQJIQSlxinpVdR418wdKrqznm820AT5Dmh9jl/bh/0GCDrHKrGxjDuf\ngwcl9mmjlRZ44BMx+Iax3OUzdan8XCXBMsNhtp09Z9nHL3eiqiCLXlYxAl42\nv1U/sJ7KwduX4HtoIfnOPcbyjcBIqWSbMhvajx2mv4bnAat66/nBjJ4biaZ4\n8TpagHTQggsS91tv/4QQPCUwZba/7wx9HblByuYH5R8bRviAJEGejG31EORf\noGfHJsr/QS4M3WTIrycJ1m3D90oQav6DUdCQi1GQPzFFRURfHFuGmg5TfzT4\nsiNrIYu3ZLyYjxW4Gw4fffZTT2zcrcfdoT/8GeFMM7kjqSnnD6SeWehevDvY\nh1CtKZCyZrryUqTQoZRV15vu59yjB5Egi0NA23mJgH68YM2ScsvjNg+NixnB\nxXSd\r\n=Qp4/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.9.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.16.3","dependencies":{"roosterjs-editor-dom":"7.7.1","roosterjs-editor-core":"7.7.1","roosterjs-editor-types":"7.7.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.7.1_1569269796031_0.921384245663518","host":"s3://npm-registry-packages"}},"7.8.0":{"name":"roosterjs-editor-api","version":"7.8.0","license":"MIT","_id":"roosterjs-editor-api@7.8.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ef0ecf93fb8c5bc5154a6c06ed167f81ea8abe3f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.8.0.tgz","fileCount":309,"integrity":"sha512-SZ7ljNU388nXN6USqJFMu7WvFRsT5NI6lJGk2CqKJzdOgscbi0RMIXE+GyDvP828sr5v50k1WwXzROwvK1lWWg==","signatures":[{"sig":"MEUCIFomQ33tpT19ADzzmFuaUsiyjuOuUcG8H7O9BLqJmo8UAiEA8/vOk531dquR0qFIgqNEsmQyIWkeHjgR+c2SJMLjBQ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqkJoCRA9TVsSAnZWagAAAHkP/2c0gVJoa+cvIwUt/Mmc\nwymTwh40hYq+zZBzOw2zmbmuatA45Y9tq/x5MZ5RXui32e0s/ZoANlW+6lF3\nPLkkTYB6UzK+GbvRDKMXIotH/g3KDSCBtOiwOJ/w973Xt0woGBDXbee7WqqD\nnEZyUZi3M8j+X3KyefUuFTuLCKETqc0ofp+yCemF7L71U8wdowRIyRUQ7c36\nmvVHNjxVDAtR4LDb71bL/9DoJFBRIJJRd17Sc10vNNoLeNmUalNl+ZTVJL8s\nCCUs8hbmgiDzWR3U/as3+69SqWbYrapD4bE3zZbaWQj8gbI6+aJcOEe3wFtN\n5GDYII9N/fCVPNI/QEjSpcXbeba3DIzzzvRETRpuowSOLrjrzYvuq466G7ne\nkL8HteJ9wkwVpHy2nU/+jbXpuAfnkHz3bO6AmxuQW6nF3Tb+C5CMg+FZsbj+\nD7By19qv5rGd1xbDZ5tHSeDlZSAULWRmHq0NimxdAwS90v9RJ70cgBAR1Ihz\nK1pYh0OR9KWOUpN6TB6V5SDO5CKKGHTDJknlVFMwOCkqgx0l0NHSgzHWHAmy\nz+0ZLeFf+/DqU2ljX+LSSlCR4OV3iYUFjAvUVQs+ve6PXCTMX6z5OLVsNcRY\nVzxnw+G0TMQIWPjShXJ+GjFGGuNEeX+MgFf3MRDdUBd2wzFxFwtAbdln6ceX\nrjZL\r\n=LRcO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.9.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.16.3","dependencies":{"roosterjs-editor-dom":"7.8.0","roosterjs-editor-core":"7.8.0","roosterjs-editor-types":"7.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.8.0_1571439208054_0.920186013666273","host":"s3://npm-registry-packages"}},"7.8.1":{"name":"roosterjs-editor-api","version":"7.8.1","license":"MIT","_id":"roosterjs-editor-api@7.8.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c6423604c9fcf5e397651caafa61b041728d2769","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.8.1.tgz","fileCount":309,"integrity":"sha512-8sc4x9NUHp3/btfISuBwKtbQPP9tQIFH/ylyn00w9oblKUlEMsCXN61yDF8v48ulNfVuYip/D88XOyTNYv0ylQ==","signatures":[{"sig":"MEUCIQDQbWotwPyZJtLFl3lN3tXuqTcPEcrCCEyCokSvZFichQIgepalEEPsrFpPFCYacDjR4aBkqc7FlMduJMFglTGqk7w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzZlsCRA9TVsSAnZWagAAWD0P/R2geY7bfuYlXC7Ec89Y\nwmFK54yVzSeR59NF3UT3H7cMoLoQU7yBb2og/QkQn9JagYZ+FJOIRVU9on+T\nW6nB7HV4g1+lyDSYqU5KrtDrRmVkmVMjEHZCELuJMNQJsnKzaeLF8Ufrq8Zr\nalk0jUaeBJ2XI5f4dqsaQDdVvOvldmM1wpfbhwqEwTRkSpgjtZIyKKdqqCEr\nTnHRgHKrsPCPIwPuysej2vwfcQJPNtHAMoqyxHxDFf11G9ejEJ7AaLwnhgvv\nHhYUmHbOJAVign/Bg/lsC3xfo363Y/Z9u3rTjvHnfDGvb6bsjpV197NLoWhK\niqiR4qGfEUxUDCO0qBQ73Lr5vR7URMh8V+TebY8WS1sRZ8wWoWfw+fbkcVxY\nyZN1+SRr3KHVNAIFO3AY9jOZLM9qA3eue4rUxnRjcChm//6fCQL621MjHSHa\nMlX8ak/gPIxut5B1tIwXovJ76omu5wPDkZuBO6G/5mPdtHnPZizchKRfzHYH\nHpH1xOybkIolcFz2ZJcZGfHRZrBLxdRRKJkTD66BuKCHM6YjlH7SW3aartYi\nVUeDWH5BVA+70SezHFHpEtkSJTJd4B2OAWfN51xfDdEDBZDrYg5s8io85Tsr\nTLDmuPRlqHHvU/pCpB/DvoDo53p/MYT2C1AasBmxbt6V/iA2NUmvB9uywllK\nrkbg\r\n=27+b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.11.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.17.0","dependencies":{"roosterjs-editor-dom":"7.8.1","roosterjs-editor-core":"7.8.1","roosterjs-editor-types":"7.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.8.1_1573755243983_0.8630345023788435","host":"s3://npm-registry-packages"}},"7.9.0":{"name":"roosterjs-editor-api","version":"7.9.0","license":"MIT","_id":"roosterjs-editor-api@7.9.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"1ff975561143313241b22abe465b71f966c81fee","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.9.0.tgz","fileCount":309,"integrity":"sha512-vb2qjKjXuTiQjOZRuV6AgtvM+9q0sQ/g9tEzmViD13hhg/fsv59XQxOmEPLVe9Z4kdmllfgPq6VgLAZLEeweKQ==","signatures":[{"sig":"MEUCIQD45uR+r5VQIStTYbLl6CV4vv7CLr/rkLA2E2QSYZ3jTQIgUNhfaK2qYQosZekxcv85MukFoPf9T7D5LIq/H/AeNGM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBZRxCRA9TVsSAnZWagAAcqoP/20m/sTv4LrgKXiQX2ZK\n+AzOkeiEcHwZKs0U7/SHC3ziOe4diEtnCHojcTQWUbL+1WsqIYRjhVkrak+5\nBLgJ1HTeQ0Kd3/QXZn/X0dPdcPUe7hQZklC7JMTI2wjqq+52KUN1djtabF9Q\nV8ZEqrxGpnWwQ6Vum8FcHUq32/kaMXri+X4pHJwJLFym/ZSJsdKWgiDzELfG\na1ZXHKeWrjFcPDl1T9Wxr48csc4qm5o9JrHcWUHJr0kXYWE9OS6Zmpdc7S3d\nQ3FKCqEnKnKM9re7/9dQTCgdq0Nm9dKDA6afIpHKReh09rCJgwOFu4p8uqfE\nsTsAVHe9WSKhNI4r7eyWSCHIF1kQz8hyDeLzVNIumhHemcja1CWHASeSz85j\nF8jmKcu7chAYoAqdKlrfTAAalArNj34jz7K1zuyOwg0gVWfZw2t2I/rn5PjI\nFfuY721PiS0mMloCvbQqpwU8CUjcAzxsy2MouMXhAyXbWqs6OvRHPtwWpnad\nd3ugtc7pxvwdyHVK4QFx8uq37NvC6vC4at6yzNBLzx52tPNJdk0/vmTdO2AG\ncPOl5bMUmWEde2Gc8v1hbueKkhbIIhFPWI9SZj9QYH+EYmE3snB1R0n4+Egl\n9NWjaPS/Ehx6nMkoycwp7JRmu0+7GOBwD8ax1qjpOZdZAfUBtcFHsZtoulN4\nfDna\r\n=iicG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.18.0","dependencies":{"roosterjs-editor-dom":"7.9.0","roosterjs-editor-core":"7.9.0","roosterjs-editor-types":"7.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.9.0_1577423985011_0.7896909408499615","host":"s3://npm-registry-packages"}},"7.9.1":{"name":"roosterjs-editor-api","version":"7.9.1","license":"MIT","_id":"roosterjs-editor-api@7.9.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"1c55587c0a1ef5615a461a22b644efc03bbe1f9e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.9.1.tgz","fileCount":309,"integrity":"sha512-LCvRK5Q/UtK1zZlSdPaWlmxu3a2eJF+5E5bFDlFRh3NazQDCwhQaml0VYHUXj8BWjRG///kQDS7r/Y4X/Vun/g==","signatures":[{"sig":"MEUCIBvvTqmMFK+i9irFIe2t2Ib/KKU9uRXvC88zPXQ5+W0PAiEA8dsH/D8Us/E0SMVA72QuS6Ekp+XVWRVYHa50pPxQNaY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF5E9CRA9TVsSAnZWagAAxcEP/A06czs5CvhjHdXOppCm\n16AmKAYPa1bwTpPTlNJUu197AotCOOgoB9gvcdxm5dHFF5kk5F1U1CI0E2wp\nozHkCXEXAavjJRy7lqe/qWaRW0VhqSMoK2dpIVqy/FZpcULTqriBih6yCr5x\n4Do7c5BBnv9OTPCfRlEmNmb1CzNoFeuHGRz0O5cNoky/T/Jlu6nEMzyHnpwO\n2BdyYiI6YBOEiWdt80jZWzxOdFZZYpwPFlCgSI4iJL+21eC6LP+qo986DlnT\nJq+YbtLcWUtedOUhn6SSjfgOPcJuevjrArnuoN61li749bd292SlV6czprtN\nVyN+z89oi2dXNMASfmB09qwOzuexp79IHbnxZ9dXJIuf2076YM4dnXeURkC/\n79JCDpUC+o+SZdSHGrBYz3mHC+Ia7qcyeIJ1eAhUTxfWbg7Vnpktegprju/J\ncHA/aLw6J28DDAL54SAhdJUepQZs4o3PHXdJq0giFt+gKAVpFyun84rJvhYK\nGI1evcaM6KoD8bPDCqw2dccVYAfX9ejXdG3554bL1ajWI7WM9sHd+bTb34ZK\nGFoJSANXZHLrv+NPLVvns5RISUdgvNPDtPE+nR53u1objgBHlyS4OpcVk8ir\nfn2YK+ZL5it4VKJhSouJeYTP3zzyavHehSEY4wRU7q9Ew/HRSiDcTRu9D9Y+\nb2qq\r\n=3Fmn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.18.0","dependencies":{"roosterjs-editor-dom":"7.9.1","roosterjs-editor-core":"7.9.1","roosterjs-editor-types":"7.9.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.9.1_1578602813228_0.8041978320770142","host":"s3://npm-registry-packages"}},"7.9.2":{"name":"roosterjs-editor-api","version":"7.9.2","license":"MIT","_id":"roosterjs-editor-api@7.9.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"d4982aac44ecd684058c3eeaf5b9d3fe45504b6c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.9.2.tgz","fileCount":309,"integrity":"sha512-TiMiIq8CTeSs+Q6Gp6mMU0OzuGz1yQc2pu2+mC60rH/WUMTCi7gP0FC+00cml/2mtnApkPEtf9VMLJcxdw3FFA==","signatures":[{"sig":"MEUCIHgKA+CHHLjxrAACAfQvvECpD9ML8kS4V4J5lPZCyROPAiEAmde/Vl90xgridNf8XRn5QOQrHPK3oYwS4Hc7EEm/HJY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOg8aCRA9TVsSAnZWagAAI5kP/2oZuv2Bv3bdC+Mndlop\nvlEux+LQY6n3FbzJ3o8axJ10PSVlrzKoiZS7O5EWTNJJnVd4ZrdEmsjjZ0UB\n6C0TTScKi8pnUVwckm3pobyWLMP/UxxU2yMWM9XqH1GwwRUYClw8tAb1HpqV\nF6qMMWjCWwJV8yNtGhs61oiBWg06kwolF9ETqfZPpiiT4YV08DvjvKRG4tBG\nOSSOzKrIESc1t5dF35I0D8s5TsYNVRY6BpDST6sVN65i0tzODkuPrsEthmvP\nTl64T1QeFkMUitaPkDys0V9hEl5EtI9gouCSrHT+4tLC4/3Cmtoc/sn4XXpR\nifflHOy3Q0AcAIUxgnJ0L1W8FFKhAmKUCrbmgS6+BNXDEUN4Itt8WoJ58aL6\nRDkpf8oylNKZyAjIJGiOGW5CrANizBp18FtZYl+OaYRGUvZYsbgjYQ7d3Nc5\nY1nGZfI0+G9YryhnVmFqCAvNqIwvOFH1Zs4bwHMGBugDEfP8vUnOio0oqiyp\ngn7x0PKsvnLjJKFLOnTG/Mbkjd/8opNBoXGYOkQvh50/oLGyPzdXn/bkZ6eF\na1VfDLX+golRB1vflJ8yPbvljTKjJkbnJmdm9K3J8m/y49GJs1ew0Wtg22jE\n+S1kt+InwN+w/QeaXcjuDV5X4U3Wn8m5w/58X99Zco1KoUsC8rLusrXJxN9I\nIOn6\r\n=kF0y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.18.1","dependencies":{"roosterjs-editor-dom":"7.9.2","roosterjs-editor-core":"7.9.2","roosterjs-editor-types":"7.9.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.9.2_1580863258271_0.82161897248027","host":"s3://npm-registry-packages"}},"7.10.0":{"name":"roosterjs-editor-api","version":"7.10.0","license":"MIT","_id":"roosterjs-editor-api@7.10.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"17d7fccd966dcab5e6653176528e33ea2f99a242","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.10.0.tgz","fileCount":309,"integrity":"sha512-buX++W26gu4aQq3x8yal1dml97U9xKaTEe/XLjoUxmZAEbv05quMo2uOlmcpZPFRb5JZMuohVZmgCgvm+0Jp3A==","signatures":[{"sig":"MEQCIB2YzUJEYtikB6cwu80UhDVVu0tb+LoJx9Mh0L9P0wjuAiBvDlO59PBiiiKObSgi3qZJysttyggkJgU+8FAg1/PwmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePQmtCRA9TVsSAnZWagAAHZAP/3js9VH2XpZhCyu+Lfca\nbf5uRr4J136Rybh0N3yzAIa19F3eUVTZ52SOXxADr9XDdWJPrC/Kr09moB3k\nTgxZXdKtGeToHrJ8PbW2etcWUlCvT2ifj9CRVij6V14zuI87vu8Q4utwvWjg\nAmJyOUXs/OzHYvcaesUX7atRbRipAfgLNFQGe17xxVeLC67mmVQKAyz9LEKq\nLqLtahit8HYuANXICWKvLvuood0pyPWmq6/h6J4CDvIUWX+1+RLDLQkDWjru\nUIQRbwSu4pbr62T03GIssaLNsmXivj0oHJM3gaK4A7RaXfwq9dRAwlyugq5G\nbqh/q8JruHdGDtiSMaUFX+c/3kdY/rfVS+y1nuUGNH7w5q/xixiSUEI4HpTo\ndvYsdi3h9EEMMwH5aWE+ROeijaY7yx59ja6WnAJR817rIwjE0NsrpOKBhllo\nxNc0NCBHtZAln6C1jw/pS7AR8j+iFtgsG9k21K6HHtV4icmkKqgw76x8HiFT\ntbTm5Svk4nt28jBMk2G9tFWeyRbUE7nS2BcwwA/Us5KANv6fzrPRKWcqy/f2\nqav9FRKSWpZxMxA1utARVUSyut624lO6Lw/Yml2TE6h3aqtmqJ3M/97Qfya+\nnkJaLcp2vd3aAx2CGtIOJOm717mBO6zDd5+iJs7ISCAUuwi034HcNjsM2d5M\nd7Qy\r\n=NpU0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.19.0","dependencies":{"roosterjs-editor-dom":"7.10.0","roosterjs-editor-core":"7.10.0","roosterjs-cross-window":"1.0.0","roosterjs-editor-types":"7.10.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.10.0_1581058476819_0.12670094030773082","host":"s3://npm-registry-packages"}},"7.10.1":{"name":"roosterjs-editor-api","version":"7.10.1","license":"MIT","_id":"roosterjs-editor-api@7.10.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0f614e5b5d4310193ba6548785b1011484d84ded","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.10.1.tgz","fileCount":309,"integrity":"sha512-7XoZ6P96eFE3ZA2E2UGDSAaa5Mt9lC1IZ5o4ezHGFScMi238Ke23MgQogWJxeH+PzDsgAmQFxLkdC1MRtBS88g==","signatures":[{"sig":"MEYCIQCQzWrGQyoJPeEqp44FBxb9E7nFsnlW13MODwBDZuR5ZwIhAJrlNQe4fyqea+Nl3z6yidQbU6CoI6Djs9QaWtiLbmiE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYYGJCRA9TVsSAnZWagAArbcP/2vaWtPgvdKFFWipZTJJ\nMWegD8aj1GDnn6mDCzCM0fBFbGUo25oE4hK/x4Sd564hYPSwIt+zQOlsdTt2\nfeqYm/TIDPNL0jk8hVPOGa9WX9s1qS7EJzG7tJicnF+fAYGrNI5cl4MAy7tB\nK5E4gi419073z/YnsiGyseFDlJUpsC2J/gS+C4MeI0RUD2KJ+MkWokoORLpI\nMafjBimTPC4qO25moFRVsR3B1FPoiBsIh8BJ1/XImzGSCmRt1hpf0KUlqcPf\nC7/rx2tghIvnCNX2zP/nccZxO84Bw32Qty4qtNdx7cCM6CJl/F+iWpm+bLsV\naZZj0vcFj5MOBc+SUvIKJf025WHks0ptwejbiKO1AKt62Y149U8+PRpYG5jE\nLTxIDnlEjVu9l6xLnlW5JgQ0CKiHdsIB92+XpwE2C3em6Ul04+qdoE9oIADR\n27LMJqToZgD3aBfvI/xIzS76VTafdAAO6TezvQX8wol6OE1iXYcDgSMTu9JO\nMdJ3XPxIBUdLbozWoBV2ggUuXKYZwlTi/2+URwJZLnGHkGjZ6HurgxjSxtVY\nCXwQxHqcKL3z9zYF+MmtOkjaUtMs7zodbG7q81tN1mOHJZWuAjEmHzrqQ+3l\nt4LnDLlcKzbD7vmqMQoYo/q/z8WbE2VMTlGFW1oKtAhmnBWe6+W/yJaFUpHs\nCuNw\r\n=MoPQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"saulnier","email":"wisaulni@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.10.1","roosterjs-editor-core":"7.10.1","roosterjs-cross-window":"1.0.0","roosterjs-editor-types":"7.10.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.10.1_1583448457115_0.5911860092821875","host":"s3://npm-registry-packages"}},"7.10.2":{"name":"roosterjs-editor-api","version":"7.10.2","license":"MIT","_id":"roosterjs-editor-api@7.10.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"8ce776954fe5327a8a638ff5fa98c8f9a669f047","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.10.2.tgz","fileCount":309,"integrity":"sha512-MOQip8EKZZCT28mHYoH4Lf9AWch7gMu2FGi/0LtdKg4uXIfYbGJG7325Wj84PvuAZb4/LcLZ22KrZffEC0sZsA==","signatures":[{"sig":"MEUCIEkwb82IKfuH6B4Wc4DBnZWfgYHM+1wMOpktqpJ4N/BRAiEA9kaojn4BtqYC+0bXaplohmDzhwKFGF5gXo0UJ98Y3n4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYZIICRA9TVsSAnZWagAAtGUP/31owEUoNBAg3GECjAFG\niyQj3nIIl2MiBowmkITIrg73r9AENPw7pspaUpLS5nQxVbE1RFiNEkq3Gky3\nPxM1ZMolnF3quhuP8Y+DSmp+YS9sO2LgodALZAFMlX3hQ39yBobzJSzeqj0n\nd6Z6Y6PsJTwsnh0MB4AJXrI28r0wwyWe3lam6oHn2vCbNBXHbN5D/Ku3FEGd\nCXNUck7V1rAFEnFQakmQ/ZXQ2/ZYNjtlRB4M/JtJCHbAlvdkucn8cSABLHYi\nxzByrqgzRv4Sxat91Ud/bAzopVx/hLKDFEsXSVu7SCurMs9JRlFrvNZdScGP\n7TAh/+Z0h4OnfMgjsq6d3sf0prmO/t8qCudg6iqPegjRYCFUygbtmRVYWWux\nMIBBAxb4p9b/ZLL8aIQIygGjFEs1Spvc1bMZTEHMt1NTQdcfE5Jllm5bh1k/\nX3oniztuE3BWftAJ2RwhHaVBjZm0tWAoANPX7rDmCpcWmhs1c21ckyl/Gr3e\npqtHW9Fu+63x3YXXJhq7U3gA5c7fxpikPpyXtVeHRQkPchz0j6ixTD/ngeHw\nHKO+rT0Y0EZmWXgIm6CxqePj5QEJE5AryEnaKvd2FLPm13aGBhTfbmCy8Zhk\nFJpIPp9is+AjpGvdyQh41GlbT3M0wsUNbY0a8QLcCbZSZI9xWyUabOJxnadk\n8LfX\r\n=QOGx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.19.0","dependencies":{"roosterjs-editor-dom":"7.10.2","roosterjs-editor-core":"7.10.2","roosterjs-cross-window":"1.0.1","roosterjs-editor-types":"7.10.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.10.2_1583452679494_0.9980738857634319","host":"s3://npm-registry-packages"}},"7.10.3":{"name":"roosterjs-editor-api","version":"7.10.3","license":"MIT","_id":"roosterjs-editor-api@7.10.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"af4c5b4ed00941884c93043450790072b358bc00","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.10.3.tgz","fileCount":309,"integrity":"sha512-jUWJj7Yy7PNGlgLR8ptpr/e+FRJ/rjU5f5JZDdpiukslnZQ4K+u0/X445lchySnWGJRG9Oy+KlnHhle/dfTWOQ==","signatures":[{"sig":"MEYCIQCTpUCziOq9VQVr36siMkrRSMx1kPRPwZGr3K1clhkaFQIhAIMtEcz9kXpubMnKLiXjaG8QZSNhFt3O6/T6+uhsOnNn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":390100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaDpaCRA9TVsSAnZWagAAcvcP/ihZjCB+ytj3r6erpk31\nICwP24yxaFNfR8MC2sk+N3esN6wLo13d3YDuos2HUKbyGsVUzKfIgnS4sVWq\nh+M1xKTNwbWUTzKulHvEP+mTQEmWKLLqgncSTy4xSqxoUw9c+qyrLFfL3wBp\ndhHgFtVU1l63/vDY30udpOcH+Ip6jA8WsemcYLBKAyX5mf3qGcZaIvlGzBf7\nXWiX0V/aYN+jAIv2/A4uF39sWwTcBc3nVYCXOvzvA2sBtHUeTA+pu89JD8f+\n//VYmRAc4zkvFmyQpX2w/CF2js4+hMliAcZ/CWaDaMI5ZXtU4Gut3O7ZY+G3\nV7UcAY1ysuNu8/rG55Q5hXmm48iWUtCtqfaM/DKJq8GQ5MfwmZO6TQWw1cKq\nthAoRbBuY+gSLoWDNR102a63gDh5BErb3LULhwuSEXfM3H0sZW/mEILjK4EP\n/gCn0KcV0D9FMpguQBG1pSE17nDvcf/SVSyv8Vvyr9EuvQQZu6mAnpmATf9O\nC/b70z2bBKFYSKSaKu7ZNAiC0ZNit4oUFzG7Coz+fMhZOZrE1y3/x/hrDwUp\nuzGlP3w5hdlgodW/daY6KdAx3xSrHbu4yg6svsTm8vR9rp7eiqjfUkIU+z9+\nI8O+Cpd+af8QOR5ispATmriXAGszNhXpPvOJOThmOngjSiV2dFjGOLfH/lPT\ntdgZ\r\n=4lVV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.19.0","dependencies":{"roosterjs-editor-dom":"7.10.3","roosterjs-editor-core":"7.10.3","roosterjs-cross-window":"1.0.1","roosterjs-editor-types":"7.10.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.10.3_1583888985898_0.8716511504300217","host":"s3://npm-registry-packages"}},"7.10.4":{"name":"roosterjs-editor-api","version":"7.10.4","license":"MIT","_id":"roosterjs-editor-api@7.10.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"353c11a2d1a8bf0fcd4665e1d2201474e58c0a7c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.10.4.tgz","fileCount":309,"integrity":"sha512-3/26rzLj4OcFDdzyqGVqewZvls+KeIbDW4SXonqveKZEdVYBIGWvwUuzQjCAqTnXOOqpZE80QYX50+PPvRqPHg==","signatures":[{"sig":"MEUCIQDKqu0W3dSRNWMVonhO0ug4nI16EEAhOKkwsZhOdL4sJwIgCvieROE2tdJqLnFA6MNtV35F+XsZnkHWc4l1bAl42Pc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":390145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaIs5CRA9TVsSAnZWagAAbSwP/0pyjiZ2VUl32DY/2fZR\nisLBKO9YwtB/HwOgn4IHybLeEX+4FG5YDwwMi4N7+/Y8FtvtMB22d25SOW4U\nAjaV1H+NeV1vCl9iNYQPAcAakTsz6K8MNHO/ZbAcrKR3Hp3ylK0afQ/1m4Au\nNc5rl0OGV2++NH/cwid6/V45eraiWjcN+24jYTdyiK47STGiAov6eMdSVG9E\nrlqSW2Mnh5qP/6FiqKsLYWjvCf+VCUaprNrr1nI3RWycSBIRCFr+67RlTLjf\n2u91tWgY2ISJzLgm/xnnaB3axWaSIZsaAqCh1armb+z1A1BpgsKI9I72hL7s\nWbfhdanTPiE/cuOXKGuZVFsVvRsDTURHHD0Q3VyKIrx4qQAwhYWsR0iPs2DY\noqe8jV8Pi5XS5G0IzPwDzYXfA5E3s7/ORUbC9WX9ODJXrTdnYEt/DvH40ePZ\n0IbIQO4zjuSfSPkc1uNvxNkVw/LzbYNxdpG2+6j5/Rzf+/GKf2mB5NFvohrn\n/LSeoQseEdBsZm7xivTImOlKEguADQ8X9UtRUXDKW67jALCLNT0QVMGJj8OM\nMN9NuSDjN0ByjOzxNRnXorDCPUC6SzqxRu/UstzCgMwi2hsP42fPT7sFfdm7\n9MXp7ipCkVd8HNelNuKdYu/s1sfdXut8dKmsVqiXZMX4694XeaHm1Dxz+bcc\nsluS\r\n=eVgF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.19.0","dependencies":{"roosterjs-editor-dom":"7.10.4","roosterjs-editor-core":"7.10.4","roosterjs-cross-window":"1.0.1","roosterjs-editor-types":"7.10.4","roosterjs-html-sanitizer":"1.1.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.10.4_1583909688703_0.8204892409009974","host":"s3://npm-registry-packages"}},"7.10.5":{"name":"roosterjs-editor-api","version":"7.10.5","license":"MIT","_id":"roosterjs-editor-api@7.10.5","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bca77f7abbe2762efe3dee3d77f73a669d17a82d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.10.5.tgz","fileCount":309,"integrity":"sha512-262RA4ZMxvaiN5l/y1KohTFrZMphuKuWK56hPFxjRPKmoUhf/+MnJfzClKdug68/zpTDXqHP/3k2N0bGcztBlw==","signatures":[{"sig":"MEUCIQCzP9IkTYDVuWOiW8CgbDbV7InCGXt/BLAUudRCsGV0SwIgHjd/v60vgwiTxL8faCXxogd+bQCLBszpyD/8Gzmk6iU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":390145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaUD/CRA9TVsSAnZWagAA9soP/1th2TSx4E3Jhva1DvYW\nrkSMjJZy38x2sjoi6ihEfwqJ9QCvPw9B5+s/8WQWaapdA+JDlxNj0Q9+iqbW\nPxbw2zeyV5xXzktLfNYkoiue/9cRvZ8vcfFbtidR9OYcCGdT5OK/HpMLA6Nk\nJ2bGP6KsotNJn6cqbnQBkkwvgevAj9Xjd1ZT5gispzDVAZvS9I3aSitbfCRD\nv5LRfz4xJdVewEb+mR2raISnFD8vD/Xc9w2lmE+2rqI4RDNSMLydziK+y8gZ\ns3jAcxPngDbzMgwA1NQgHT8XmtWUGgVDQ/HBdiaq8nzb/7RQEVtpx843dlwJ\nzQHCLs0Rr5VtVTbD9wRZDCfweh/CtMzcJ3gwKL9h7thxbeIbRVgEFmdtBcNY\nd0y8w6cg/4+iXgU/9PCk+dIyJm8Iq6TA0hazeXp46UDzhB7FxVZ+ldiNsqdx\nrsAr5U3+bzFIcXerPF5sbZVYWDLqrSxWzcvWQrM4Y7osRW3XQ4kvqDCTwtdU\n1fstlYKL4O5KWPIKG/uyb/Cpt+G9P0aLyrEi1Pcetc30P7UZrGlZeC5kIbmW\nZaEFCvuOOzOngvuG8yGsOKgSozqUyhoI+KSx5gDGjIkFZYZ6vfY2Qd2fNsBn\nT4Qpr01waU0Sigr0mbjdWT9nf81oXYPgVDJj/FiHASkMntBrCIN1eH9TfQQe\nNjwt\r\n=dmDY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.19.0","dependencies":{"roosterjs-editor-dom":"7.10.5","roosterjs-editor-core":"7.10.5","roosterjs-cross-window":"1.0.1","roosterjs-editor-types":"7.10.5","roosterjs-html-sanitizer":"1.1.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.10.5_1583956222758_0.7242917524447472","host":"s3://npm-registry-packages"}},"7.10.6":{"name":"roosterjs-editor-api","version":"7.10.6","license":"MIT","_id":"roosterjs-editor-api@7.10.6","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"d5362b5e43d4ce1efda6eb303ea98c364641ed28","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.10.6.tgz","fileCount":309,"integrity":"sha512-CVsAA3b1KifpucmQa0R32wAvb0rGAG7iale7GeH+iYnIWHHQ2aUi0B0emn/z5CqzeNaARGQtd39BufQQas3uTQ==","signatures":[{"sig":"MEUCIFnSYiKGaNk6rZGgZeCJHoPWSTfL8w6Vi+lTtK5B2qICAiEAvtTf2hyXwMNVlbsMdlELd2hAPqo02m7ytoNGYLEDSZ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":390145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaomiCRA9TVsSAnZWagAAS0oP+QEvJm0mepCyA9Vs7KVW\nsdlL2Yw6oiwA61ONHF5M5taVyL5kcgm1IyHuGL5hy+VHaNFjlZiY1eMxlxCX\n7gsB7DGOBcmYjbtxoDaJ853CibQ951dAiJdwjeZC3zU+7KDL/Ca3pQQbc3oF\nkCi9MmC5/zblkiCWftWDvw6w6bcL+Nj4TSBvQijG652Z/W8OxftD6pbxm/Ds\nqz5gBeyaS8jo7xBLaAyUqEKqBQhMN+SFUYRWXxFIhIYLL9WS94HaB8CeE4ET\nVwKrFjTOiPy+iuNRt1BO/1d3pW+3zJuWYZ9pfXjlxPJ/IJ3hNVjiYI7SZv++\nHo5PQVnxHtsFQLG20ZPUwMc20jUVGaphabe4MgMqGE2Xt60HPKScEF9ZGTpD\n3JH28WXfzny78PraVft3q9Trx1SUVZ1/Pz7j6+NwslCbAJly9yNiX5FNmlBb\nH8r7Sjp4BjBthFIN9Dyn3ijyObLCNTafgXP6WPj5jdPucI56RSyayitodY5I\nKo9WoZCysJL3yYCZzSPvGwhCZgM8+yFa6lvFKJBBPvmf7ScdEP93KYi5yjdY\nTNW0cThOZM17M4vJBtEmwlLHxd4uWGvm66FgrEP8jttcVKEOjmRb7m5jMGQG\n9kmotuYrm7fF9JhNfbDmLZRVmsCJWgFcgpTnj4O0p1CVLMCc3/MFo4OweEHO\n4vnq\r\n=9ccv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.19.0","dependencies":{"roosterjs-editor-dom":"7.10.6","roosterjs-editor-core":"7.10.6","roosterjs-cross-window":"1.1.0","roosterjs-editor-types":"7.10.6","roosterjs-html-sanitizer":"1.1.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.10.6_1584040353596_0.10263793640354857","host":"s3://npm-registry-packages"}},"7.11.0":{"name":"roosterjs-editor-api","version":"7.11.0","license":"MIT","_id":"roosterjs-editor-api@7.11.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"53d2ea650953b1bf2b57f4dea74298ab2ef64450","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.11.0.tgz","fileCount":309,"integrity":"sha512-A5WLboDcKrEWmW409kpiuew5aclFKeMmBHKgwY6q6omNe5NUH+1luhMzyEjE81N0InHA2huVef34lqvhGLe/7g==","signatures":[{"sig":"MEQCIBkADXew7Fds6WBXpbY8qNX9BQ7LWgrXNgMn+QFOiEhCAiA+HyG4RuDIeUknmrUUH3f46oZgI7Msu5Y3TDH6I6/mXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":390145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJec/A5CRA9TVsSAnZWagAA5SUP+wUS97+ZpBLZShGIph+E\n1LVjbCMnFgCqeS3QVALsCwINEAcSJzfTB4ob3VATRPSs0SjSjfZtEiZtaCRY\nR1AlrpMvllacqKPBT5Gh1C5vQUU18Dq90RvFZQR0ai6T5n/j2UTR7nxWn/AM\n05JUql6QowEpojze1qYQ0MExa6WwQFq8/KPz32hv0etBFDyYIuZe9IoBlzDi\n+TESEFqkcMO/vPx/VH0uYawUYMCL8DcGsu8VStwrO05vAj6xOMXifJaUlq+T\nDA60p21ausjNSafFV8aUghIEzMqdq6sly1RjjeZ5zqa8BpyK8xqeTISMbeZc\nfXzzoAMHTxWlL+Ty7O4jtWTVO7FVt1Ulg4v04zUz6fHrX6fnKZEU5JOu4G28\nWMFZM40Tahe+ZH/5Bnxknt2EWHgHaLgOFlvtfDDaMQheVUyhgckr6Pc72r3E\n8PpMryz7mRcRr6iJPMUMY4Wkjq+opYS8MuFEI7EZMNF8pq6qaRBzUyLrBszy\nK6Lyfhuu7JUEvvT/v9iFVV9I4/E2QtDuKBDKXZ/nAVDTIzy0rxIZd8jFlcEJ\niHZJ6MyfcwJ8LtpVhRLWuKC5QGLAiVpi8N5gyRk7ffVl7D+LCufBBK57E61A\npwsTwi1t1qgZ5+ddwQLACT36zj6Ogk79lzWrMCe0eyNGRXk2CfFn2wM44SQW\nlkQv\r\n=Puyg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.13.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.19.0","dependencies":{"roosterjs-editor-dom":"7.11.0","roosterjs-editor-core":"7.11.0","roosterjs-cross-window":"1.1.0","roosterjs-editor-types":"7.11.0","roosterjs-html-sanitizer":"1.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.11.0_1584656440997_0.9860168605581565","host":"s3://npm-registry-packages"}},"7.11.1":{"name":"roosterjs-editor-api","version":"7.11.1","license":"MIT","_id":"roosterjs-editor-api@7.11.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0d250ac41e88d85639af5976046c366f56afffe0","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.11.1.tgz","fileCount":315,"integrity":"sha512-5dN350hyAobuy7bJbkAbCprPqqla42Eu2cSkcG3HiLo8bjWIgEba7hjVW68ociUorIXDCzT1ntkCjnwZUB5CvQ==","signatures":[{"sig":"MEQCIA38sH6cGbzKchTqL2ZzieeQUwlV6Nl83ixgWui4HFWvAiA9WE4DLSBjnHSUhVGXVG3tpUJ5/hHqTji4TQq/DN4gjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemddqCRA9TVsSAnZWagAA9t8P+QCpyPeEN4vvS5VT/AWD\noemXNXcCJiO+Qd5NF+C4KogK3nAikGVmUBDZqzgDB9yGqIjR5fBLxH5RD246\nJJYBPl+/j/WZhJiT1pz83kOPKAaWh7dfUq+bbFvnsv9ZxyjrjUuma0jiz7Lj\nc/8hvwW4HSEUFqF1y8ZtfEUIpjnfBD52ill6iSr2g/c+E1c8rABxBTUGF994\nOolGoGoVPARBYjPVJoUjB4+hp/uIkYaUuX/dnuAnCIFXTrAZV0oMbTgucdib\nMgVHzM+NkENcDYM8qTO4bga5SbHefOWbAkxtKz6XJkxa/HdlWFPnfcWIt60/\npuhuTvB+quXBmseSrecvX07sA+Dtmt2gYDLVtHyuCR/Ua+r4/fgZBD5rpyGZ\nQGFqgFUuljHjej/Yg+Cao2qXHf/ZbqFLlIWJTq7UaalWwfT4ZQS6CO/Igjuf\nF5ucMPLwzlFNvpRPqDLJFe6If8q7mtobn82zxaS5GRYBvxnNHW0CgAn59z6S\nXvh4qJaYYrCU7nXTYeEPD6c2cJa5lwy0oZcUwFgWWPh8EgR1DwsJcwHlTOQe\nsb8G6aZYF/rPoQJz/4dlrJ3CeSXKguNabl5bls5B4PTKn+jKjzabsGgipQH1\n81t7us/cTUseoAaZCVtIkBhCgUCh68DVMEnScgPDgJuSwsWQ52jJ9qt7RuNE\nXGeV\r\n=SYfJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.20.1","dependencies":{"roosterjs-editor-dom":"7.11.1","roosterjs-editor-core":"7.11.1","roosterjs-cross-window":"1.1.0","roosterjs-editor-types":"7.11.1","roosterjs-html-sanitizer":"1.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.11.1_1587140457878_0.08893032647584054","host":"s3://npm-registry-packages"}},"7.11.2":{"name":"roosterjs-editor-api","version":"7.11.2","license":"MIT","_id":"roosterjs-editor-api@7.11.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4dd15c5da0d09d401af305ef2f3a551150ecbedc","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.11.2.tgz","fileCount":315,"integrity":"sha512-qpeVhnnfph6rDuFkjw4zzhBK+8k3dukCmeWstiTuR5cgChe4bRz6hJlCNZRt4TedgKBFpw/PZY2IAeTHLmWufg==","signatures":[{"sig":"MEUCIQDkV5Co1llHfkRuY/UQ+0VLEi2P1aDmYYok6uxXoldozwIgM0IGAq3WOP+ExKvxz1tPL/TfcxOExTlZpURrJ4SatJc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":407138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoggiCRA9TVsSAnZWagAAen8P/ifevEat/mTY60VZmGcW\nbu6IA7saXtfyLccbVXNiOV+4s9b+GCgoUGcmloZfvpKysuh9rf3XHc/0/5GZ\n2zzuPPH3qx0O29NKyO1bWtWiv72hP5j/OXXG5JWzunFgMjw/0RUKrQRUbJDi\njUBTIVAzVIR2et/BjbWx7Qq6Zj34KKZTGeABcbvmJaCSOUwCu8hDIKRNR4JJ\nhjgN9LRI6sVynHTpIc5YXNssjBBlrAtnHYwgv1orjbVNdDh3/Lj3sxKbBzUV\nr5wE30zqe5KKoLkNsnff93FCzFvV9NUcpiAU1fsv1ur4bWvQb2RZFsXg6L8t\n19wPSi26jV7CBwuuPuaQXpMwPGPpi3/0B7l3tru0NSuwfdgdImLMQw+2p4Bs\nFEYsfSuTUj9Dqf0QdR0KT5GBES/RlQwlpWZ9fWmOjGMbpRkIo6HcQ3z21LL0\nBMrWz3DkdRrEP170NdNqYlYT2Fk2RV+2YnJYMhhLldmWUx0ZfgUNl6OwbSUD\nmjTY5jPxduXtZDJLtv/3bWl16KQuOgSGCnGP7Ar8vDq9EYAKfjzu8b7MWSzl\nW+fvUdEwxbSR5vTHZT66qhCe2t770WUtplidIj8eZTtaPWkoU+SMs+eqI9/7\nFtwaI/dKk9iFbXRbGYIbmenp5PTmBPhRTM980fJ8VUTEhv/k4rLUW8bx1Os+\nOT3r\r\n=GmIN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.20.1","dependencies":{"roosterjs-editor-dom":"7.11.2","roosterjs-editor-core":"7.11.2","roosterjs-cross-window":"1.1.0","roosterjs-editor-types":"7.11.2","roosterjs-html-sanitizer":"1.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.11.2_1587677217517_0.15555191094922782","host":"s3://npm-registry-packages"}},"7.11.3":{"name":"roosterjs-editor-api","version":"7.11.3","license":"MIT","_id":"roosterjs-editor-api@7.11.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bbdd94ad8c0eeb3e38e96ad97c07c0775cda2ba5","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.11.3.tgz","fileCount":315,"integrity":"sha512-wxUEeI7HIkaDG5cK6O3qDf7KLc1cJpKQo0mUaaeWMZ4e5RwrBdatYmVnulJCX0wXmd2S3Dsia4NrJ7PWN56mrg==","signatures":[{"sig":"MEQCICJviDJvF5KMxpe2KOcuazLWbuP2jb/oYno+20o8pkgBAiBkbiYsW/TAhhxVjNXuEx1ytk+QvlH7jnpA1rL7XBiwKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":407138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerXW7CRA9TVsSAnZWagAAtPAP/3bgHF+ztMLm+UrkJ9mz\nTH324etMDYveau8o0qLBQzGPGU9rUgEEN/1O0QjQp1P2O8LTDM+39rkM/3kZ\n6T+KeC45HWjYaxb8eYUtJYHOGzjLSP7VVGDzB5CwuHTbqd7K0Qu8AcJ/YLMa\n3E0Q5madkOpatndSRyyE9Whap150947uaPxSpx/Bc5Sp5WPAp2s7fpRowjs3\n0eJi1eXML/Lf8dkSrNF3bjTrm9L/XiTMz+mPIit38Y+EVgYb1i8sB+HMzqhN\nIWhfND85EIaBep1N+s9JKpcTnfrZ+S0jM4Coxvy0lyh78HNK2uYWmuWjEY/L\nFXk09hV7WRakw77S7/iNw46nFos5wmWRbt8xroOszqvGBNGGSfUIHMzOsxMX\nw/ng5NTjlYsKL1mK9UTUWkkswU6B+mMCScp6EyG/zFy4id+5CTG2TQ1KCGsu\nv26DE9t4RcdQDaToS17emM9Q3LJ69kaCn51B31pw/FVctjRswSENe7piCmGj\nhyXm8ZvZ7qmrk7D4QHuSaosoiebi/tXJlZc2jL27iIsYxeLaJZtqAZz88Jlo\nNYvsTnrSg58bpMW3lN/seenbXMOHlzteW9DIr3fl/uyPtDOu0ENsmvmd9v2k\nlsfmQe6+2M1bmxbnp/nG/4u6bbRl7LTYdn1JD1NziZBMhLOqvy3LKtYWwyVq\nnD3e\r\n=7p2e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.20.1","dependencies":{"roosterjs-editor-dom":"7.11.3","roosterjs-editor-core":"7.11.3","roosterjs-cross-window":"1.1.0","roosterjs-editor-types":"7.11.3","roosterjs-html-sanitizer":"1.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.11.3_1588426171469_0.772988415616467","host":"s3://npm-registry-packages"}},"7.12.0":{"name":"roosterjs-editor-api","version":"7.12.0","license":"MIT","_id":"roosterjs-editor-api@7.12.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"54b4448076d2a597f7fe6e4325ac35b880a074be","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.12.0.tgz","fileCount":333,"integrity":"sha512-zi0Avv3+QJDeyx38IiWyWVTk2k7sU1yr/sjlB4SBpyPy1BE0tZHpzsNemNcoEEz4SY09LJv3eaLuurfo8my7CQ==","signatures":[{"sig":"MEUCIQCPBvQb3YIiS6BIOM0//3Vv2nJscPgr7A6sYbrPdGgttQIgEHp9umVysg877GmlLpeaBVZ3zxQF2fFDxC4RNUt5cCA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1+CcCRA9TVsSAnZWagAAg2kP/3v0VChc6vFPeRnTPtr/\nfqlbujzn0h/Tp8LM8HGNSTym8L/zybuKT57dkESkIOW5uBpz7eWZ0nHUnU+k\n1c/KfiVLb0uHG4y5GcHn+LOGxv1L+S62WujbADo8/d6NObl82Vyuu6HeIY26\noZW1QuIV+xIGWZkdjV5frt5U5yy1EBAduPBo+PxUc1lJhkagLe9cgT1waRTc\nOr+Fmyfe0vDZDjv19LChnFOyft6o+dm0/lX6DsI/t1fhs3SXlNn53UTlnLmu\ncjOBjpnz1Zx9PZybhPFQP+2wvx/DtbOgR4aoqrREztN5ifDi1zCRaALaogLb\nFdosAGtZ4laSi4RED/EO70LJExMfAnNV1nw+NWVhgUvMqT1cnqiUqx267qFE\nc4VJlK7b8JjxnN7HXPAgb9qIX6GEHd1NY4L02AwhKpxBuTlRG5Kl/Z7BdKx1\nsDC8bgbs6+48TgllAB/QIwBtqs5tUYoeyIO5yN7lBYIcS0RkI7B+xVSWxhki\nyky5kF3Ngll5zevoUezAhkbPxiQj5/HOMJc9gZk0sOpcw2mZBBpEX+hS7nBb\nMSQPiR+/xdetofeTTdV+OQxTk4BCktPZTrgWW0A3ZheQaKKwFmDzAGvJc+ME\n6FWrHXdAlchmalz5ZH2x2wAvGsrmyYkjtBQfK9TnOhPBI6yN9/pwbJ/gLr/C\nKgDp\r\n=QIMG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.21.0","dependencies":{"roosterjs-editor-dom":"7.12.0","roosterjs-editor-core":"7.12.0","roosterjs-cross-window":"1.1.0","roosterjs-editor-types":"7.12.0","roosterjs-html-sanitizer":"1.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.12.0_1591206043464_0.5764409833193813","host":"s3://npm-registry-packages"}},"7.12.1":{"name":"roosterjs-editor-api","version":"7.12.1","license":"MIT","_id":"roosterjs-editor-api@7.12.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"05be8c36d9e7ff4167faaf5c20b1dab2d101dd9f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.12.1.tgz","fileCount":333,"integrity":"sha512-y/+1wV+CCNuDOejCetva2Ru4sCzqSjeLf6USQ/PLCzboAK5aw+u8IZD1a7iU92iFyqmssmKNVQo3CtgLli7WTg==","signatures":[{"sig":"MEYCIQCBb4QjG1fuf3QaZP9hZ/G7871/YRTbDEcgcvEqbQldNgIhAKqkY+ZO7OoX2M7z8f4ANnGGdEIj94mSohx/PKZBfn4o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":438718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2JeaCRA9TVsSAnZWagAA490QAJh/2OTDXbyXf+BES20y\n77Aj31540irsi9ti4ARTDM7pTxJWhNwD08SbxV+uPDlcDRhzz1ToqyI7/W7t\nzG9jUl3rC+vpqnxFWcBkGa/99RJmMj/McJ/xogxkmIt94aoKyJ01RI5NooV4\nhR++4hiZw3bdCnyULhqSfhy+DEZWiYm6OrZtIlsjMBsg/AHqZHp6uJtj6WLx\niPrDXHXVdfMULqChbRPrYX4AGk/FIi6JVca27Rg7e9WAcJit7iCAC41+kCMK\nsYS4yx/ymdq4+TZ4bbVAVI3CrdonjPhoUHyHwQdmJzko5p9YqwWqXb1tl78a\ntaDZy9fgpjueYZXzQ/JnF7kWj97F9VKDF+DQ4c7CbimxzURAVhgyH+FGp92F\nzObTExTzVQirVX8mnTRDP90jrfyXNVlROi5iyseyqCZK5jRBu2LTmByex6Vk\nQTsyVkaAsaXRwhRauEYWogubyV5bDrfiyYgYJNcti+VSx+JZGTvAaEGXo/QM\nRqEzi4LxWGyZVGHGyJeIYBd6agusixWOJmm3f0uDfnLylugfJhi5YIiIjVuE\nrqHU/KM+TK0WwmRd9Vjyst/kUlN2T/4rOyHhx8sIvBJ0RL/EEBTbztpFEDv0\nenpzAF+5yx2TNmFm7hX/xsYdTW8DfwMlMO9fBB9Bp3t8h4sukuDAaaiJ/8e4\nc1u/\r\n=IDXV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.12.1","roosterjs-editor-core":"7.12.1","roosterjs-cross-window":"1.1.0","roosterjs-editor-types":"7.12.1","roosterjs-html-sanitizer":"1.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.12.1_1591252889915_0.3203520197346119","host":"s3://npm-registry-packages"}},"7.13.0":{"name":"roosterjs-editor-api","version":"7.13.0","license":"MIT","_id":"roosterjs-editor-api@7.13.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c0d6100ccf33cd48372d0d4a825b2d946618440e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.13.0.tgz","fileCount":333,"integrity":"sha512-nN7q40e8W1x3Ls3tgc9ax8DwdhSb9PRzgBk1UBugtsPh/WSHU0WoWYllPpsicZ7NAjxtEpfXxtX2AizCImlkgg==","signatures":[{"sig":"MEQCIByHK7o88zVKjbqMr+XvM4xGsxcvcZY4eklMiA3eL8vNAiA3AQo0WceglQ/z76g2khulEHgo5gW6nz5t0D6+m+Tvcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8jovCRA9TVsSAnZWagAA30UP/2y0dpGKCaymQDg6aZbw\ntEgGJ+anyaUGXMEn2x626d94FypKO7sHQbCr5e/0GosxVE64tYVYSn+/qSOM\nIt9foW0IsolbSZFb0OIEhOZYdEATV2t2VfbzDhqVGZv44H+YLUXRZHDnL7W+\nTe5uqwfxdTqmeSLo2y6szJ0S0/zd38EAa0MOPBGaUUyAziIyarv8HOHSjVJx\nOKLYU+e8VZGZU5v8x12dpXViejkN82+MBjcbDQ6bJON5X/hgoJWqMMoutCMW\nPPbPX/XPyQHRMYHnCH0f2GjD4t5OPyjcbIVNehEraFjGgLl53ycEeiCBZ0KX\nIpX2/4jEbyhDaQQ3ia5G6GVjICOLfTpH55qMH6mWY8Oufbz8IEpA8jeXZFpm\nsTt7dU7WkMydZlitnKHEK8maLzI7fVd/YPCoB/KYpQ4btPdUdSXhVhkBer+1\nNwvbVpDj3yfQA+FeSHdKGkccMQAxBM+6qGe8Or5Vo/hILrhrJy4EPOMYirtO\n+21Zl20B51ArkQchjypQlSNwKmzJMHvPtyNYXemLDvCUlHLm3fa/9QCPOpra\nkfuRwJWWUyvbnbFdwChSlbzDGPr61a4IqvkcBaDnj4RQ74TiMqMDBh2ACM38\nt6HGMSbj7jEBdjZL8hXCAsoIDFNF77ZjBSRg/Koa2nFtmu2/953PE9Efg64i\n/Nwi\r\n=HYJz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.21.0","dependencies":{"roosterjs-editor-dom":"7.13.0","roosterjs-editor-core":"7.13.0","roosterjs-editor-types":"7.13.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.13.0_1592932910936_0.4885315606812046","host":"s3://npm-registry-packages"}},"7.13.1":{"name":"roosterjs-editor-api","version":"7.13.1","license":"MIT","_id":"roosterjs-editor-api@7.13.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a13025e056edadb924f3eaf6eb9c379a8379e076","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.13.1.tgz","fileCount":333,"integrity":"sha512-zSfhPzP4wDsxBMP3vgF2XOO8WI2tkaO1SpUhfQcVr8eUIM6gQSO2xFI2TeHA77fr3bm4eE9KEnYDl6iJJQ3Jow==","signatures":[{"sig":"MEUCIF2RXR+eI+hyO7y7cI/oj4IU4umbFAEQROMEAb03rjkaAiEA100bSGF4owCp2gJA8OvGtuYFn76+JAApwENiNKLZfac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/lbPCRA9TVsSAnZWagAAmZMP/jO7HH2mSrLRqYv3SKMt\nx2M02MBF5yrKCe2I3T0F514U1XsfNwfXYh3j7eOp94ld12uceh+uwXahc2rT\n0o0EnqllFsWdDb6CXvy0dSiY8YcnNhZphBOwvA8G4OXROCPgyLoFVIDbYXLJ\n1yovcqz6B0J8dPCOU6LREiOTbOa4jMZ82epcS0ScBYnEpvfoUFEFK0avW8Nb\nt8PpYFYszL3lfkqebWFOrkdAJaaBgMx9wVk2Bvb8zB1iu2XsKR9VKKuGaqij\nYYrTYOazxOYVl0il3mRMfACGHmAaSvp6IUVUebFHnF56waGfw7Tq0fwgQwIs\nMiCg8iJwFR+/Gy3U3Isa+zO+nLtbw06n+oa02t3LNBAMJXtmdYIMsTtmoeUk\n6NKLVGEcJAM9/H5VkzCUxU5cT1RczFfEYSMzxWbNauPl+CqAhimx4O8j2YQc\n3E3w+OGhxixeyQ9tzWWfvvEIwZBXFDTYaNkIUMvLlHfIvin5cvF0KWG1knBL\nzJYpX+1s5S/282+qGQfRYQ2d3sO2UQNSwxjO9DmWSmJbgtxgukaRWWKdISL0\nKcCv9F5IDRHOUBSuWhzSnHxslWjkqVib4bqgFsm0RLnXtMKcE0NKe+FscP+2\nP7bjDLTNFgCZJAHQ+y2RrRP+ITjZ7+djFX9z8OSUMdchuq6oAhJ5UohroxLK\n2vNi\r\n=1zrv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.21.0","dependencies":{"roosterjs-editor-dom":"7.13.1","roosterjs-editor-core":"7.13.1","roosterjs-editor-types":"7.13.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.13.1_1593726670540_0.1786002275956189","host":"s3://npm-registry-packages"}},"7.13.2":{"name":"roosterjs-editor-api","version":"7.13.2","license":"MIT","_id":"roosterjs-editor-api@7.13.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"5d085ae66693d69c943b0f523133cc4443e2ad56","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.13.2.tgz","fileCount":333,"integrity":"sha512-i3BdSBTNGGvRAqnF9z/xm2VIGCfE9Mn5l8ffqyis0A8o5q5nDrS9zJ9I7vOtoNltXM1sJPOFuodPZX+ZGCcXZg==","signatures":[{"sig":"MEYCIQDkm0tpGlRaSwCkZzrsfXBsmfqHGrK8BZYD556qk0gBIwIhAJ/v4YW5sf6bplxmUwfXnbuflwChsOxjKCjw+fM2i2GA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfA2tECRA9TVsSAnZWagAAjl8P/iDZ/HJZO2N+T1E9BjRf\n3B6KS+enDkZDtfX+CIGppPIv/H5LrGQDcbnTwBibZMhXiXZ/TZoJAYdNcJmG\nstihMrzgG7ca4kl8YNvClMEPvLJ0rQnT4n9cUdfmQAQSubnY5iWXeH1RCscs\nXSy6NEcTreiPS4QM083noM795rPrXfTL3xy0p6kSLIe8gqkNiO/LwGCl1X+w\nuvz8zEuBEz07PCBDUeWqyAcABjoTKmiGTc5nKrW1VuBJzlHhFbhokqwaoH4m\nO6t90+7jI35nwXWms1070Lt6UqnVNAbRbWMqu0dxnxMXBrF+NNYzCr4yORje\nh6Ulw79CSSw9gYXMt6vpvCXqgrluzZZSGloAGoYTOtHqIFMATwOQ+NgEV/kq\njoU6BlgwBzWnrdUWKUhv9UK+Ca1yKmSaoh6hEg70wLTbc8LVl70LYDyIlY9c\nx+t4RUS+2YPYDK4z1wHb4aKLrHfJT/SxRSUWaMOcOy9g3xHhnlPQhOd+5I8g\n4dUAuBWFxu3qYP0qpDZlNDiK5f2xQkriXG04dazXftNfGbsn2iVB0S2viDdu\nWoxKis/yqqaivQzNZYUGmyewq9Mfr50AOCZF5Bu2eYgb4gUFZTn2iCvZV+ap\nfk3ZPhy2mvc8EMGRJhJrWB31KjDo+GF5tLmgodEunvSdyuJtYz3aKhebYWbA\n4QSq\r\n=QTND\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.21.0","dependencies":{"roosterjs-editor-dom":"7.13.2","roosterjs-editor-core":"7.13.2","roosterjs-editor-types":"7.13.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.13.2_1594059588369_0.14384461291239758","host":"s3://npm-registry-packages"}},"7.13.3":{"name":"roosterjs-editor-api","version":"7.13.3","license":"MIT","_id":"roosterjs-editor-api@7.13.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"724dfcbfc1d1091a66ec820511083e9b902232d9","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.13.3.tgz","fileCount":333,"integrity":"sha512-m6GYFGZTAOs+HwS49L5RKKNgleCf8fV77+E/SA5ViQdjPQGDbEaMb/gVlnXnrltDTnx7BjvfPYkUWoMnUlC8RA==","signatures":[{"sig":"MEUCICXbv7rqHFZMDjhGBHhKS/dHT1MMbm3DfXWCXcKHTdXbAiEAn4lL/wQr/99BGEJEDEPEi0MWDdiQHvlMdMSz4xDIxtM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":435890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfA/rECRA9TVsSAnZWagAARJ0P/25ENR2UtrY/VP3iHwGL\nilKsiiT/80XQJdMxWrX+Xqlfk27vUHvR6QElCKAnWDQy4l3AATsH/x/8jfbd\nzxbUItAbTGUO9I3BtbB7YAF+hpnFsKNMbd/+UWneI7boMPVdjwku/Jyzyal6\n0tpjagC2hEriTFTAlI2WQ2UJstmTnjEmfxiacN9EjLGAoFaM3nLllPfK32jo\nXWLNJvYlVSB0tI4B12wPpCEikmxcD2pjGgj70UurMLLhyHZaIXRrTDtbTtix\nGUeudDUZLZHBizdd2SREQyBT5uRn3dodu8VLVkwVtDJ9KOY5JfLF9BJTSXav\nkWWUhcBP0bAwoDBCDFnnGvvvx/i2RHylA5UsqT2kYMt2lHYQiap5zL1YvCWn\nc7EIWlLo/3Ozlg4X0C4oeSJKigzx4c/GciDHWHlCUZBXc4HyDfn+d/YKW+0y\nrKfH9nP2E7hZanxdqlMH+KN3uR2yyT7CyOs7gpbkBb3YMnNPDLthX5/iKlqN\nyOHHJkmWXLofB7NFuqz9Z3ncMOyNSkuXnvq/3DdP7WDi5UlU/84cQsX5bo9m\n5maES7xzNORXJn3+5gjTTEMWey87HXqVxdXmw5qHhO3JgZ74wMtqllcc3Bw3\nuWS3510l9/bKaV/MdBK07gcTDmLRmZ/ZapyRYMg91oZVPSObrbAubOGYZm3J\ni20b\r\n=Xy+h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.21.0","dependencies":{"roosterjs-editor-dom":"7.13.3","roosterjs-editor-core":"7.13.3","roosterjs-editor-types":"7.13.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.13.3_1594096323672_0.5950520023589339","host":"s3://npm-registry-packages"}},"7.13.4":{"name":"roosterjs-editor-api","version":"7.13.4","license":"MIT","_id":"roosterjs-editor-api@7.13.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e1484078446530c1e5f610be8d68720164ecc246","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.13.4.tgz","fileCount":333,"integrity":"sha512-Y2en2ugIB4ZH9TFDZlBbP00BJiXiOro3Wp0fIA/+GKuLB32p7vHSQx/zB2QT7NI1c5rNFz9PACMAFx7ACkRT+g==","signatures":[{"sig":"MEUCIQDbYpL6O/GPHCdZiqpgvjkDDgy6whf1A9g17tWwS46XUgIgRrqS19414S5DtlY+rogR8pS6YlKJxA57I3Ocvk2+Pl8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":435922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBi9iCRA9TVsSAnZWagAAPfgP/ifjZ3G/e5oR3XM8OxxW\n7d1QCDzS89vr25OOXqh3OapQF8e2VvJxafR8THJl2rjhZknyNOnAUjVhazyO\n4fjOb5VHTO6CvuCbaeGL9vF8T8l3VcDrngu8YgfBNpuFSEkinorq16CfKfoT\nuYA8/jqvdbOqFont5Eg4//Or7BDsR4hmeJ+aQbV1nKCgkkGzzMypnd2fR/TS\nqaf9KYx+FuhaofQg0nSZL5ZhUvUE7GtiJV+kwvJhAVLZt6c4jF9qTqivkA1K\nx2gI1aeregvFS9lSodQrSyVr5I1ApG0nCB1At20jQdjqKimNtxX4I7iRY+JH\nyRTUd5fz3GudG9jJEH/8kPOKs4evJ51IMs1MiuUG0Tov/SyfbMumUBMVxifr\npREUetU7hpOmsxsWTv6eZPohD/zryQb3G1gjHnKP5+o3uSeN7TIy5qZdGiFg\nm3D+yTv/ed7qynS6QO16BA0pxG3F1IU/dh4pIw9khpZvcSWNDlASIDt0Iw/z\nk0/YnhoE3Pj/jIDi915/BMiX1twJACMb8gIIp0tsP4lfgCWNwC7UgVjBUJzL\nIZiaQHTdtVjuSUCTZ0WTAIlGp4ljcEmxeTkXh1X8tG2Ey9/zad+P/oeolFV4\nAqXZiuxjN4eU7QbwRH3/KWP/VeHE8dj+Fz8a9ZHVY1ab8soWOcDK/HCUTxT1\nfEuw\r\n=sReE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.21.0","dependencies":{"roosterjs-editor-dom":"7.13.4","roosterjs-editor-core":"7.13.4","roosterjs-editor-types":"7.13.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.13.4_1594240866182_0.6685670646213304","host":"s3://npm-registry-packages"}},"7.14.0":{"name":"roosterjs-editor-api","version":"7.14.0","license":"MIT","_id":"roosterjs-editor-api@7.14.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3ce62c26216aedba37c4187e76d27eba9a25b921","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.14.0.tgz","fileCount":333,"integrity":"sha512-e3qMCdHve67hW7yCgbBAQ0af7QqCGSA0KQh4yZehrb73a/6/kcQruMBX1d7Wl6E7X24BigKyNgkj1zR1JdA4jA==","signatures":[{"sig":"MEUCIQCvfZw1HGPkEr+32iYsdrIERXlVrBgrCiDS0xfO5+IqfwIgKCEO4+mF0Sc4D45UNPTWyfdGEBHViiDMbdsgX4Nl1hc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfC/ynCRA9TVsSAnZWagAAqnkP/j6olE03EBYvKP4pS2vM\nyA+gVIIIkx36pKzkuTDD+76n70j9msoKhOYF/i7ukftj25es6Yn6DGc78WtG\n/uAJgO5+LY14XyKALMV9vaYex7hadmzlP9tXF7JhDqVgNs3XD3qXNC6KRTcQ\n+DJKAXSrFjLK49zwffWsE1zCe6RHSCgaDnks4LH01Q9EFXKDoepM1Iokuk6D\n3t9iyy57ns95E1DN6KRvsyjkyJJ3Ey98FKD2fkF8826mANzTd+RwkpzXPLFd\nFekFrYBhq2Kv18GeN5j2wsQvWSAyRq758UVtLZfC9AWRYBVO8OVLT+DrycSj\nscbMqK8puO1aLdY9js9F4qI+uwkfZbc5RZ+WckDcl7XpRrcglhVYYv3hTZ4k\njwb+A1yTO8pYrTXdbWJkQxKGwESrQjeuizh1isB92aH1tupXqJxgotrNrsuo\nN3d2qeQS+ONXerWNIFp5uvMPlS3O5R7pKCry41rgVaXW2Z6Yu9bXH7BoBLvl\nfUEiMqr/1nfp9EYJZM4IkMO3wuDqp6Q6P7odlSFQozGTWgHSy3VZ5aXTzXQh\ns+ujXggTr2/NhIhtSPHmxQ1SdPJVF9g8Xy/1eoc1k8MNhMYzqvwyH6FK6fV4\nHYxaqEQPzpYBCZiB0kOixuGDGQY1LINjWX/XmEzY0bgjS+lMPMtQ9Zh2IG22\nXrWj\r\n=LWH9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.21.0","dependencies":{"roosterjs-editor-dom":"7.14.0","roosterjs-editor-core":"7.14.0","roosterjs-editor-types":"7.14.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.14.0_1594621095084_0.6260991242516492","host":"s3://npm-registry-packages"}},"7.14.0-vnext.0":{"name":"roosterjs-editor-api","version":"7.14.0-vnext.0","license":"MIT","_id":"roosterjs-editor-api@7.14.0-vnext.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"284bec9efaf1c7fd9f903a7291cf262fb18a7e27","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.14.0-vnext.0.tgz","fileCount":333,"integrity":"sha512-SDwbDlyaUon0yHF5cl3SHqMddWfBB5dCsnLrFXPghD5ef9xKp8A6IKeTl3MJnM9fFvC7D5uuWKV4CkuObZKNZA==","signatures":[{"sig":"MEUCIQCUNIKxJN/t4fMwO75fH36jXxx0na0UTtgfsWZ3nCTSYwIgdTlCW2gnp5jSE9OshBCSrxtz6LePvvTSnjZ1xCDFfr4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":434884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDAZuCRA9TVsSAnZWagAAAzAQAJSXdSs9wWGwflq2nQ44\na05h07WLiXuin/phoP63yFKFqESgmabmfL9jNBo2yZ86i8FP9xhZBjQZiymL\n3e263NYPg8v2OXg1CAEvP3fF7huegcMbu4hiuXaLLeIZPDfUWJU2X+q5r4GY\nwc8+o3uB6ko8zrUoeuDvYf1uGaXcE/xINZ67gUeBpNTvbogGryR6DI9P1nm7\nzoqXG0gSO20ZsOE5rCuAqiMoi+hU7bA8MLInirX1BReDFnXHmGM/TR9JyGrJ\nLLVQwgjACVsoLJAhtxzvvWH9gbY+xtygW3zpAk3T9+UA0dZqPptC5z2NPoWy\nIkh0hUaJZ2sp4ogKiQB9/x6wSQzPKTtw4r3HIBsNVH0Gp1oMvk+5WBW3taTk\npGbpIKedMUipy2gu8sCfV0+3r/kptpefK2Ynf7WDuwOSZKzXSPBgebwoQmb8\nEg6o6IbkmJ+tJj+ZyfWB6cMhXxfEj41V94RP8XfDEpvLe55rgqaFHb2Q6Tcn\nweMCaeD6DA7kKwi3KcZRZkguytIiTMaLia863hinbhKlnVgptlf5/gpFqfSO\nwPQBMyP1aCZZeR7R3gXGHWex7QctvZ28KoGU+oH0vurUanwsRg+g4qw+EvGW\nZ1/ETeaRxcj3sW9rYKKezEu6bHFLCwUPcSrAmSL+pqCnIcg7bARNcpIR2JzM\n6z3o\r\n=06eX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.14.0-vnext.0","roosterjs-editor-core":"7.14.0-vnext.0","roosterjs-editor-types":"7.14.0-vnext.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.14.0-vnext.0_1594623598042_0.29242062786412615","host":"s3://npm-registry-packages"}},"7.14.1":{"name":"roosterjs-editor-api","version":"7.14.1","license":"MIT","_id":"roosterjs-editor-api@7.14.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"83a3d29682cb55ae5fc9cc29286005569f62bc0c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.14.1.tgz","fileCount":333,"integrity":"sha512-I0hsqiaDZTwsfXFRQx7ZWJKnLHGN1CxriicQqHBtPMkh12s4XKJhkADpmOXjopOtg5W0tP1dRFTGxeRgSFIZnQ==","signatures":[{"sig":"MEUCIQCpEZm401yaKQUHskpdonK892eIaqFwpBVDoUuYIDiJMAIgPGI/BCdG12NPLc6et8fWOClBy2RX+7/maPGwVVnRnsI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDeyCCRA9TVsSAnZWagAAZ4QP/2KuYqCE+d779GzOzLqZ\nbx/cxCugVfe0EyE8H2gpDscQSw+5WgrCD3qvfrRQqaVyQHGKTvnOPgfEwShl\nD2UOlB2Wg4Rns7ROujRJ+ovxs/rAMp9YjRQCMHULL0sLCI5JRgDrrk6iXhx3\n3VFNLz8j0ukGKPJHj7P38K4G4qiLUb0ylgWhd1gswyFOqGgymTSbmvsIWe5l\n/MrVcrHkZ4mznUhW29FUxdid3vj92y2Ye+xRYeg3CZ4p1+BUoahtZ5+4vQdM\nyUKMny0lNzilgVjZf5Iy6Rr00mVuIaFHW21rTGWgLIzYrdxUXBytyoOzusXS\nEn5APMby2h/majZOXWL7+mS4oOiLtILA8L8Pn4JmJJQ1XQD32YQENwi9fA8V\nw/v7jnR+jN24GdgunJzjKOmvP+x5qbgFhK234pvEh9SHd5oa7Y7Nul93q05R\ncnTEip9b5gzAcy6ZSTnYkWuq5uEf6RWgogBIjaqAkyg6UPHDzjBoXrxCa9Wl\n18hMDmsX9GKSKIyRuwhr8Cg856semkv9U1cKYnvIqPOq4x0tgXlcnc6iI2AT\ngOZgXLPPg29Swg94EYfd4+xs+r3PIoFjo9PsMNEXpkpfYetdQvNDmarMKe8V\nYuURf2B9c97/SliR04cXVAnGzqmyOLgXnYUeKpKJJE+kAJEWaWNQGIXEkgcj\n9iaX\r\n=CwnI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.4","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.21.0","dependencies":{"roosterjs-editor-dom":"7.14.1","roosterjs-editor-core":"7.14.1","roosterjs-editor-types":"7.14.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.14.1_1594748033821_0.8792727324022664","host":"s3://npm-registry-packages"}},"7.14.2":{"name":"roosterjs-editor-api","version":"7.14.2","license":"MIT","_id":"roosterjs-editor-api@7.14.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"df30e88af9298e8b5faca0e7f59f1ee12e3c9040","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.14.2.tgz","fileCount":333,"integrity":"sha512-lp4hSysEHg2RwwuXreShRcGr38hDNkb+w6a7Ua4c4ieY2J2lDTtGi1/9f3LE29Ql6o6ivwtoO0IUi7KBwLdWcA==","signatures":[{"sig":"MEUCIQCA+643qe6HotcQ9d/Wizc8gvxuU/M7ieqMmfIqo8xKWgIgWb19a0NFjdA5cGCVynmy4+lDogT2ndAewwW9prmW79Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGLPaCRA9TVsSAnZWagAAITcP/iryErPSAAcFJoDQC6U4\n7Ce4mSPC6Ak8MaT8Enpdy4ncMQmW/5bx6Wuk+/62cer8fg/xdNq5WUTi7XZp\nmCPDMhl1qkJAnZWplu4XuAlYx0QbuspEBBrzL0M/SDH2qnBH+uVngpxXTHpg\n31tIKfy2pcuoP7BrQ0ce1CrlQfg73MPZX0QfcyFQVXQfXxbQUA5M8tqU+CfN\n/tKvCxaUYw42j5CMPZ4o/Lvp5adgLSGX4sEOpImhupaSDKh8VvBPjbtn3hoe\nOhr2eCa1xgLkQ9fJ3MyC+446AfHHWKwmQGkfGNJvZ8t3yqd3yxbsW7bu7J4I\nLFdP9hkzta5YSRg5FUGfQGdg08LllhrTompkCHRwHnozKZKnPKTBBxvUwMUO\nTajyv1TKpxvAOvYNtuQ34dFNJ4zaKKmEOKeIdSWthJVrB8dRgmARXdotN8k2\n68p1AOmOM4kbGqnWE8vj0EPdItx+4zlg+Js3ZjNsW4rjG4MktRGjmdj2+CdK\nLZbhoCmfZSgiQcHIAtynbBYLVcJiFMvWxycw+PYXOE+SbC5phoQLkjG1tSHA\nsbyEgUmFg7XaqePXP6OzliVO9ZXKTzDQmtCapbQQ6RRIS/Sk+71YbHNxgNNQ\nlTrA+ybhsegyZtlJZ2ooYko2lUienEgJCtzhztkS/UPT5TrhKLGetkt+XF+8\nmme6\r\n=sSo3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"7.14.2","roosterjs-editor-core":"7.14.2","roosterjs-editor-types":"7.14.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.14.2_1595454426377_0.38502007024734475","host":"s3://npm-registry-packages"}},"7.14.2-vnext.0":{"name":"roosterjs-editor-api","version":"7.14.2-vnext.0","license":"MIT","_id":"roosterjs-editor-api@7.14.2-vnext.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ad0f15558191b11be6000c6c53d97d1d53988639","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.14.2-vnext.0.tgz","fileCount":339,"integrity":"sha512-is7LA/icrJ2JW8H3n3TWp2gTdA1cUt61/MAXt1LNCi5LY5klBUQb6FCzX8qppDHCZcbDpXrRTSKkqwSmKh2CFw==","signatures":[{"sig":"MEQCIDyFfLkC4kzFFmrWECr8sdCPBktK+f4nDhgftA8P5AbzAiAGgbqdqc9HUgUQ01MzkE4g+jX5B7C1df16wpDQVJfGxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIJyTCRA9TVsSAnZWagAAFeIQAIFj8xEmCApkockEB06z\nirnAG1WBCeyblfp7Io1mSGrgOQ/EmFYMWArtrYuGcrkY9nxvCXWeUgAw6/6Q\nVB7eaFvXURWGB6LpxTQX8T1nQv4Em4CRs5f9alRkwHe9CazSnopgM5UXGlD5\ne9+6ay+eblexutMipptwEpCzXTawVJVj1u08QaXa/GFExHanNAL+0P3j8bid\n0pkgS92ccC1fxITLTbHQ+g1ASmB/QPAms24W/hr97YJZWkTw8Nczw22cAvIQ\nmFkg1HEP9/yhsl7Q6dEu739+iF1lwOz0+tvAiNnaWhloDsmRlAb9gJj82TwU\nDyHsThuihGnyxlJ/HBfdmMoXNcNz5fjnaaUwWBnJn5Fme2vsiu2c7QWegPS0\njw1+p2Z3nSVzkqP9pFA88cZp/5+h54ZT5bpYP8rd98J2XNUHoYmKSfly2in+\nR6cz1QXOn3hQFNfE22CLP/sshpefacQ1KMWkahCGk2bC498oX3+24ltCYIhm\nBAjl2ZNebRXpm4tVzpCTAynarJKy/cZ1w+79mXkRca8LhR+zEAPjq5Lj0hjK\nuoogGislqMDX3Qzm0uAnBjA5KEaNWe0xnUmreh7TlKTOXIzkFtUeXx+Gd2tc\nhSTwYnaFvlOFZi4hyKNr3WAji8lTVMTP1vDDqpsPEPd+9gsNJL1pnPNoT49/\nbW1z\r\n=8mfB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.14.2-vnext.0","roosterjs-editor-core":"7.14.2-vnext.0","roosterjs-editor-types":"7.14.2-vnext.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.14.2-vnext.0_1595972754907_0.5371947070464158","host":"s3://npm-registry-packages"}},"7.14.2-vnext.1":{"name":"roosterjs-editor-api","version":"7.14.2-vnext.1","license":"MIT","_id":"roosterjs-editor-api@7.14.2-vnext.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4d682b33d1645caa2291db56e3d0264c93909747","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.14.2-vnext.1.tgz","fileCount":339,"integrity":"sha512-YNAscOjaZWcbeIPPl1swTNzCCTe8jEkscuEneyRo04z8I5RjpJ+iXc22fa6NagF1PSHBzoXGbMqw5QAoOhkUtQ==","signatures":[{"sig":"MEUCIQDHd+zdZXVYBJQ6nzJPfrQtdOdLhGnZZRSaZeA9oiM3eQIgYdMOMpoSVjzs/t++BH++jwrEAv4Wk8UjLw88ba4YIL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIKpZCRA9TVsSAnZWagAA/bwP/RSq4QDSZ26qir23DuGt\naMtGCZt5zGQCU22NifY7IoUQVagGhroVOSqcOMSacxLqfh6tQ4M2CzHD6YQS\nDg/psjsqri+fbqGXs0rqPLdy/tn4WYIBiNaWvQrlDIeNzmVR/CCV/243jIIC\nrvymOFmexFxOp9q4+m3GVHmq2fz3IahnmwN6c/FE85v4EitANLWeM4masy6j\nJeCYN1NN6lvkfjYPJVNGcg6yoJNTCHrxs8pjkTU7QMub+fNXumW+NHsT5OsP\nFKGUntXbQwFPs9QynTWdK9Ky0yuX7fA57ESXH3B6sN+k/1AgAR6ZgxomK6um\nEf97DwYC/sJ2KHfRePL1pAcudfiJhxsW4JFAvMneX3kdGr7BLhwJPy+KLVTx\n4cGsC3BU/u+eg251XBPwIhyBb6ct3Q/YOvSMt36PUqSJH4Ya1L4XFWts6csW\nVL0MPwKkcnpWIuwmkrnH8cK9cj4n5rTqZNFb7uHqtwFBGc93uyREf9eyEFvZ\nH+0QT8nhIggmKz+f0EcUvveLElJ1HnoAdyWh6DQgysKW+01u8dXA8Fqd8vzw\n1ht866hp9hx7sX+I0ui+ULN3rL0oKQ0fMOUFUD/NgI1vg6lCG8mu6IEgfPR4\nkqRYvbC0G1dQoCEx9qppT6JEVeJ9IYTYkSsEZytly28i76e+4cF+G3saMDA0\nXh7t\r\n=ubln\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.14.2-vnext.1","roosterjs-editor-core":"7.14.2-vnext.1","roosterjs-editor-types":"7.14.2-vnext.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.14.2-vnext.1_1595976280997_0.08928241461469999","host":"s3://npm-registry-packages"}},"7.14.3":{"name":"roosterjs-editor-api","version":"7.14.3","license":"MIT","_id":"roosterjs-editor-api@7.14.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"414517e5307dcc023dd2bdf23010042d152ce2f8","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.14.3.tgz","fileCount":333,"integrity":"sha512-2IDh+wVGdcPKw0MnelQ1LJwSyZlF2QA/Z8pne3WHIqC3qbILplOr2OxDM8u+y98LaFh5n6dla4fjUs0sTKBbIA==","signatures":[{"sig":"MEQCICUbTPIzduHY4DCrmNhuP9FOdZRJP297zHUctedH3dxCAiBDg9wYS8RKW1zzJI9MVMIjkU4beXp/sPvtLsdvrC4Wzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfILJyCRA9TVsSAnZWagAAimcP/29XBaNlu4GE9D8UsHG1\nZ6JqYBPxmZGpvQC/IDhpwY6oQRM4TeU8VxQag1T6LrGuAnZSDMmvXD7MZD57\nIkJCpcZ8M0qH9sxCXgzmT0RNns70g0E4YLyfLTZONxlemsfpw5l6ZrMVYQC/\nsm/emcgJX25PKjGEo1+MPFQbD69F/HZiLSDEyzS11/lsNCvU4Bje0XTt2HAy\n6giYgKQH7UhjBkOPSzCQneqQiGFRz3DOQUgGHSY16RIHFFOtnGoKHKz/jzuN\nZdWuoMb+Mna20YurhwK4+A3zqIqGYaCSNZpA1BLLjTKROUnm1ln36dFZ32Ob\n/nl7lzm1CpUJx681itQ0FrRB2kmEdjpBLE7hwBNmNjFdyoAO8ffx6QqEq5ZG\n9RPqorkUPZ64tUXY4cGED4X8kW/jvK9Redfn2tfb+xJlDNQjg+Ghim4XRFFq\ncE6Qmzy/NYJ3kM+8cG8Pl0oU84UOe86W+dBNCMGR3r6qGja/lpoJFKyr1jo3\nCkXMDKzaAVK+tC/n3URVB6BlQzr1OFgKAmzKTRzlRWIdFtydDix8Iof5zgyF\n8khIIUo0tewW1tSYCgzDmjSORnU0WDO3fNJOWYqEVwm2f1IJMcMgKX1hX6cc\nGC3xOgqFLLrFdBEEBt8FWLoUNWNKwLLPfB7DXpd0q7UbV+eYnC7evWlixcjn\nB6ZD\r\n=URnf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"7.14.3","roosterjs-editor-core":"7.14.3","roosterjs-editor-types":"7.14.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.14.3_1595978353528_0.37363657058574273","host":"s3://npm-registry-packages"}},"7.14.2-vnext.2":{"name":"roosterjs-editor-api","version":"7.14.2-vnext.2","license":"MIT","_id":"roosterjs-editor-api@7.14.2-vnext.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"2f3972243c8aaf2beb1a6780cf4485cbbf506cc4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.14.2-vnext.2.tgz","fileCount":339,"integrity":"sha512-oUg7VnieJVTkan2MA5Z1qqrs0meMeCfBKHeqdvtNykK+nXp/zZ4YYpoTGMg7G2UDu0xmrI3kSQHN5O2BLnFW3g==","signatures":[{"sig":"MEQCIEYhyalTDQ6EQfoHIOttiSXN6stnz6UTLPYxvTcqgtimAiAn0ie96x2gGwA7gSnRXFpzo2TLoYGZ75nfIT6FoG1snA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIbNoCRA9TVsSAnZWagAAUUcQAKPTlV5t5WMVFCxOkiTZ\nE4H00wFwhDSwb26w3w8/76+rf5zLAeW90bGtXftFQ+4pOQlojFp/B74yQLqY\n/T5kA31QIPyx0cZWXnb5guBIRL99LwIDud3vmk/EJley82AGBMqWkNcN6N9j\n4ymS062XLMJ1wLbRuhWRnfuROMSUKcsjOFUG19QszrN2urBb1PAefRWUQkzy\nD9+CuQsXplAmj/3zQlSLNYAxDcM16UzopUjVjUEX+AfBPSUf+xFYmKsMJGFz\nbH2qfeDhWIgT0Ac5E7es8LrgOlUfONUQxGV7d++EqELDux+ODDNayXk5Hb69\nCw1wDlU+m2ngL+3ZzQzlPxdYTHqWpQirigWplQZspBQHQ4xdTxX2xuroY0lE\nDojojNUk46On53tjenpCv/SKnHwaOnbRR8tCjYwiBwqZrNDQj4rPDFhdvEua\n1Dcxqvgg04mJMK1hDBlStFspHB+2uI1XZBxq90ATHXLj02YFBqq3mbfo+jw8\n7QxyeP3O4W2l84YLkgLWI4Yv0KGp7EiW29EwR1P9PmF26yo7+MZl+HKgPg34\ni8HCZlETcCcYtFI0E1zpEpXq+CBnKNBhJPHQWX+7RftaBHKfexTEjf70Pfxp\n5NqOXUYqzP3JlSBTeuq1Ae/lvC7ighXIlQepoBCJ+87KM6hEjQr+alf6+yTM\npIr7\r\n=Fkma\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.14.2-vnext.2","roosterjs-editor-core":"7.14.2-vnext.2","roosterjs-editor-types":"7.14.2-vnext.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.14.2-vnext.2_1596044136421_0.20491893315950427","host":"s3://npm-registry-packages"}},"7.15.0":{"name":"roosterjs-editor-api","version":"7.15.0","license":"MIT","_id":"roosterjs-editor-api@7.15.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0283c28c6523130d7f1e0ce6974f92faf76222cf","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.15.0.tgz","fileCount":333,"integrity":"sha512-I+niHaVYLcU1oxgoJgXtU/n/680gfOeQy4mFhdBJAblt2ZgzTmc/OUl3k3h2k5qQzjljTykXwU2FGlD5EcQjTg==","signatures":[{"sig":"MEUCIANFkNkaJffgbDcoBF+6BS2lWSmJ6aTDooyKTEeEv3+AAiEA3Hrfl803R1ydjTkjtyYq7Pb7UPSXR1b6myzkAk1HHlY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIwFYCRA9TVsSAnZWagAA6P4P/2QkKfNacQwlrjtgnITl\nfaEELqSxfg+e9q3HRv3/kKj+sF6lSiSlp9S8kioRUZ/K1xkrwNwnM6gOAGsK\nPW02raORd2oDYwkwH52tQvuO5UE4s5hQFkqqnwSvPahKuamAUE7Dmrfw1/N/\nlLwmiXaDov1hWKjc2z9Fi+O18PYhE6qFdHZUWvc3bOeWBxNdSTe4iAUUMEU/\nggIQSPHGLehRVjcmFx1jJF7Sa/rzIMuIQj/0hYuHs9V1JuSZS9iHbgUXZdPt\nPOceyGdh+3ak4U0NElHiBapCnMrxuVHaGnBqDPz0r1NpvH0ChnY1CH87x0+D\nZS0Uc5ltjcl29uZ1X7OA1FRCtHZ94DNFjL715R0EZd6CV+gWVCvxCT9/Wy9x\n8IBe+Pf0w0UuEnzwfNRLQ+hBQUiBRE9nUbsVxzUjvOY+X+mbAg/LIFRyYdeD\nqAaKtTkQvEWa6dwpIyxraC467nbzSYTVQ+4bcb9KOCrRlHdJtilqkLK92K7K\n/01RIWelbSIZhl9M4nySuC3jXvPpJ1HIY8z0vhEl5Ydl99+PTbECqCvoUKUi\nfvq7TAlrYt7HHZTvo8XIarb3igmua9F6wB/GZnLGhQy8jZcK8V3W/V25Pvv5\nqfLq8qdFXCXRYdQW3mjX+VRB0Mznj2vpcG/9DA1urJuiC+KkqeX+MEQ5OvQO\nvKoZ\r\n=lE00\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"7.15.0","roosterjs-editor-core":"7.15.0","roosterjs-editor-types":"7.15.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.15.0_1596129624449_0.2487231288530125","host":"s3://npm-registry-packages"}},"7.15.0-vnext.0":{"name":"roosterjs-editor-api","version":"7.15.0-vnext.0","license":"MIT","_id":"roosterjs-editor-api@7.15.0-vnext.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fb8b5a2551bd9dc8d5a2972375f0d68adf315c5b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.15.0-vnext.0.tgz","fileCount":339,"integrity":"sha512-ZEQCynrlWPPBnFRUl69wz+mCzV5NhW2e0UVBCFJPXXY3regtD/0+0cmS4dKtMfMszcTFNWQMkgx3DYIG7A1Fjw==","signatures":[{"sig":"MEQCIBpapRQeGMu7saAht/cJTu6Kp1HLPUnWSn5GalbxS+8BAiBvy0oVfbz6sBuKbknd7bAAwf2ZmH+Oux0q8b0d0KZrNQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI1BpCRA9TVsSAnZWagAA4SYQAKGZj33NMeYq33R52Y27\nFTeDeEdVZgu7kalRLyarPzsaBZi24oVQXcJpm2lvK+xpkRpGVhnIa8zA7tjK\nUE/V30kX6+b9WlDGOB9dzHdlJmxaKfpbNgBJ4nV7u0En6i3vjaAwiId0daIg\n/IgV2amt24mHpLPb0Y9kPePy+d4YcSag6SNM9FylRX7mYcY5AymWKFIEZnze\nZSB82/kmrd5JWT1lgHm7Ac/TsbZ/tHctkGq6CfqfqOun2BGkl/rimetZP3Jm\ng26i/8oV6AeUyYi8NS6SHWpDnXV2w9jDfKfEVrtS7euYzT40Bn1H0hfHpg0F\n+ckh92Ol2Lu7LCgbAwCvv+8YF17hlMv7Ps1QvB8Efks7fmPFBwaQxAGTkwGT\nJjgo7R4Nt0PE5YF6SnXaxHDCuG065mBMkMYISzN/fpa+AomdZ+cJVYhGqbSE\n/mcC03GSGGJeopsMkRN1wnOe44ewQ+2h9Sm/bWSYYeudTlCPF2rZouY0Ay4r\nKoqe6hFgdXDewg6U7vzByKUNE9q4xshkSZBiQfPWopHYHX0u/jwKiHjX1ST2\nf1iFkfoGup1UM0SXuwrRShpqfE5KzHTejGSdrqOq8u6OzKnKTYvsUAYj4IWM\niX9VYWlL7gYlwyYPv4lev5RP4IH82Z+bmEDBcfjXnP+m1FRWmLKI3OqLQlHb\nv/f+\r\n=VJtK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.15.0-vnext.0","roosterjs-editor-core":"7.15.0-vnext.0","roosterjs-editor-types":"7.15.0-vnext.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.15.0-vnext.0_1596149865051_0.9645693726077282","host":"s3://npm-registry-packages"}},"7.15.0-vnext.1":{"name":"roosterjs-editor-api","version":"7.15.0-vnext.1","license":"MIT","_id":"roosterjs-editor-api@7.15.0-vnext.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7e173e926a058d10bdff2bb104d533c40f141a15","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.15.0-vnext.1.tgz","fileCount":339,"integrity":"sha512-B2cDIgoQbcT2nq4X81N4dfqwI5X2o8k+ZMmob+rMAxAbGKWO3IRQGJqJcswu2sB1a5dx/03d+5w2oxyl7mxFSQ==","signatures":[{"sig":"MEYCIQD1xVUMz2W3HfCfZMc1Ct4Afq+pC1Eh5/SwWaFZRYfrrgIhAPdXdwvmSPr9jLxwW7YhTxGAzF4j1N79qeswfIgtiCcg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJJa5CRA9TVsSAnZWagAAHicQAIq/erecXidVtTAgr5NA\nlpeJ4ljE304UBvt2d32mgSIXFvPUfaCLfOVakbB2F0pOiYXLt9s1PKM81vjJ\nmY9FqCQ3itUhQgXDDMStgd3Gv/U5x1Aboa1zfIJmjska22ge+U5VdVxKAlUS\n0IsOJl+l1FfzgdArBKy5tjgxX2V6EnSYmwHEP6iq8aXxXQTje85hLpGCGd9K\n7OFXvb4OcrtRjAQ7CExbPYPiZNDN9ubO6yM9Ox7zO0PROY5FpJDxcSEkfyKm\nXnVU9DLCt2sF+QlbmDSs9yZYGOh7gdPogmmx3U0Jm7834HOTxPHF+NpX1Vr/\nOb5QP/BYHrxv3sJjarpdcxKkpLTKumA23Sdurkh+DeIcweawMpFILm1OH96N\n3xJ+SRnZyNOkO7s109QFbbBwp+YhHj53RhMP0TAjlTv1k5VXo+yDUiFpaNmC\nE/1qhn7EnM+wIvfw8s42XiTnTDMwLZbMl4y6DhoCrvFbnzdwsWcpUVP5Qnqm\nRLS8he2Q9LhU8lSFIP/JdV6Ri8VQ6edoOYf5CZg7/+7KJ6rVqYiuywZ5enfx\nDyNsgI73/iVuBaStlCLvOlzd7aNxpMoylL+Y4LsKaRSdLCqmq5pdHjCKTeRI\nQIcEPdFipx9rBM4kKHRRaj5bvYVnO97Lr9Kvq8253lD4wZx1RaAASnyHcOXf\nWwlw\r\n=nJvD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.15.0-vnext.1","roosterjs-editor-core":"7.15.0-vnext.1","roosterjs-editor-types":"7.15.0-vnext.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.15.0-vnext.1_1596233401144_0.6101973534540619","host":"s3://npm-registry-packages"}},"7.15.0-vnext.2":{"name":"roosterjs-editor-api","version":"7.15.0-vnext.2","license":"MIT","_id":"roosterjs-editor-api@7.15.0-vnext.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f41baf1055d89a8467ad6325411f037afe662395","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.15.0-vnext.2.tgz","fileCount":339,"integrity":"sha512-y3tVEvhPALihB98oou9t3hWfc3tjDePggpIH5IxG39RNwRl6g7u3KDiaVRAljLkylf04a/JKd74tDs9O66RTHg==","signatures":[{"sig":"MEQCIDcoHm3Qn+e5kIvfnb5R0xDPFom7DFi16iTmReRJELDYAiBjZVu0DWsTgjNgqXx3bXUnoKYoh5IsOPc2C8IwJb/o8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ7bfCRA9TVsSAnZWagAAaLEP/jfoI3Q2hkqorSP80rQQ\nx93zhEfPxx0M1GdleO+UZHOLzqiIkJb0tWaa0Hie7e6aWBZId9sqnXD9wNX5\nVy0SsiDPxDdL+l+Ec9M87n+OWNNdphQSoBiO4B26ja9kmw8ZxGGluqDKDBzB\nhhKE1j7gc3CmjFPjy5zUP1PPONX9IFIrWQ20OlKX3/lJ/MRj8yPKKJxiYcdE\nyRhbPo/LjVraz18evlk6sVRKTDmJvy6KoAJIHsBHK6iFHHEcuE/InkBd+aNb\n3Jg95h6osCVTCs7F0XpJG7n1qhq/h3cQBmGGTj98OOz7CiqpopXaj2uaANVX\nAwgecQwoG+L+wtLKLbB9Dg+sVKvdnJND9nfug4Rw+vghp6K9zfnnYwPfMCFt\nuQS7vUUxGmCFifdvAgaY/mBdt+YHGZoLOWgHPJRkXAcaxGqSb/7kHqMOvJQf\nVq/nHQva2GBgZZmGBQVHSMbeERzC/HGhIsgDNp4pB8NRKAvB9k3b8Mf0olWd\ncKmh43YkIRcAoq3WkpItKrYlKLNMfWi6b35l+DUD9iizGQC5GBjmE2yk+fxe\nBYzKtAt5u8WSlbYkgA0EyIg23NKYhkf5dE3FLTcf6n+faL5Vodb5m+ifTKul\ncvMAjkmChFN0ehZqp3AAgAH5aCwqxPBTSj2hvCdNrnAyKTPoxA9crsJ2He4M\nYOWt\r\n=Lrqq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.15.0-vnext.2","roosterjs-editor-core":"7.15.0-vnext.2","roosterjs-editor-types":"7.15.0-vnext.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.15.0-vnext.2_1596438238655_0.9146971644468256","host":"s3://npm-registry-packages"}},"7.15.0-vnext.3":{"name":"roosterjs-editor-api","version":"7.15.0-vnext.3","license":"MIT","_id":"roosterjs-editor-api@7.15.0-vnext.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"88f22a70cd8f032310292b0d78a23ae213f29945","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.15.0-vnext.3.tgz","fileCount":291,"integrity":"sha512-C5BEcbmUXRULNNQuSORUIsZJvBR4Cx6ulhS7gwgcjHNQF6ioDqo2tRKENiHu2Cv+xw2pX5HMqdBeunIiSaEQng==","signatures":[{"sig":"MEYCIQDtWR9u80tEH6xNJhBNWqp8zsNY/h+z6x2RvT7WfDezAAIhAIITujvG3Iqd6zs1Voe9TsNLHxof4gFkVDXgGrHwGWYz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":368204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMOQpCRA9TVsSAnZWagAAk0AP/jEXF9yVdDrNSUF+Ext+\nih19c9SmyDpvg8ypEKuVF1zzR4KuWBoCK5hGHlGz0pMi8Se3eJ2FxqFhIfFp\nW35NhlXm6GgqI++ponLy8buNs7Z2UtFVVUpwZZIzHtGOD0FYk/SnkYOySUdb\nxr6L8xaKIawUPHeEwUSv/2Hln/G/YHZvXwnuHhK0QaGZ256UnqpbvP9BOPcP\nL9b5fdvhFRD2D5f3ut/8oMm2qxMXVuNMRXMRqGCehx/pDbwRv3QB9N8wAryl\nR52zSN8Ob2aqIlt1OJO0+Irmb3qO1FruIGnV5DIoRrHyZdIr+Bb3/hsBMeYV\nNqF2m9ANj3mRWPUYzkmJw03FDBhyiViRe6UXWB86XTy99+9/6BGs4Kqj7BPK\nSJ73k9Dm9jF4wj6jONMqNUHirL/yxjt/+NeQCgqMOZMetbk/nzbYbSlwBNUP\ndqbutrG58h/RTIMYLS8PtCu11DmoCihWBSYS992g/k04xpRjaZGElelQNQnk\ncsWHK70ORYGxAYMjLZORJaCrnc8aFvPwGRl6irgiJmzXTDjssBbFIdiZ3ZnH\niLIlPIvqXnyUmjCByz3rvWg9Fl0v5JKN5swI0zDgQbb9sR5JK+RCAH+250NT\nZSW8qR7GNsOw4npb68ymSokSX+yWyLeYAa5J9Efn96ZUgVd2a9aZtNsYcAbr\nz7PN\r\n=/PWN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.15.0-vnext.3","roosterjs-editor-core":"7.15.0-vnext.3","roosterjs-editor-types":"7.15.0-vnext.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.15.0-vnext.3_1597039656549_0.8377556117544884","host":"s3://npm-registry-packages"}},"7.15.0-vnext.4":{"name":"roosterjs-editor-api","version":"7.15.0-vnext.4","license":"MIT","_id":"roosterjs-editor-api@7.15.0-vnext.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"922d57c052bfa28e4d37b13f293104df26b7f4b7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.15.0-vnext.4.tgz","fileCount":291,"integrity":"sha512-z4BIUTJ/qdD0JYY1RSe5sz9eqelkaxOy2N3HKdufKGXsopNKJUH2mg5bawBTwHENUk/iCNh+qlND+RIcUwcKQQ==","signatures":[{"sig":"MEYCIQCtTcqdRGzN52G3wh+/2s/YRgwXTOozYgglr9relgGAbAIhANjSmSfNijLteTRo+RSuBZEzRUVZxGNHfLSX8OK+DQWs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":368204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMPw+CRA9TVsSAnZWagAA2FkP/3H67i2OcftZwDLbA6F9\nKC91b6wIHyMSbbkbqw/T1/PxHXUh6tjIHcnvSYJC4IFfUXaZ8i1FcLIJbT4E\nlfU2RJulmbv/Mwtlm/bsk0hH+3k7NyzGQsoaWCK4fpLSI6K2+/MYFs0eKip4\nSGS1O4B1Q/OR+JmrqO7vWCvl/e+6lohRhJTA0bjcKIiLcWE9QuNXYws4RU65\nFYg2x9wZvSxYMFguorOhwWztdW+3/m9IRZHZMH+x/L+Ny3NzJrGxRkVwyU5j\nrO2pjLw2EKl+/YDEoXNMkt9tPg/5CN7FbU+fBmdAtE6qidEaywrxIZLrSXB5\nnNKLJY2n+x/j4Nn+/n7iOJXHUyWwLjR6fSHUZyZNAxP+sKnzuCin6kE5fSnH\n7oxBn//QEX1WOxoxJUQpuKypW7PCWVwoAp0l30Hx+pEFKqH9TQfm/R/6NjN7\nggE6uXXoVjE2mXs32mUayQPVESFjntCTf+dkdQwEEqXsjjzQKboYTxuS7Qua\nehSTICjKnzUgAt6aYqJPxh7pgGfWBiq9rfgxEEY1dOOJrP0405BTZo+3RRJ+\nZzazGZvk1K5oK7FEB79X0faG9sBDlUADoTxikPiOE6Woat+U3IZO+EXBxurm\nJ3oPoR11s4DFmht+2jvJctrNLBIpLo1KCkwN+y90wXcTyDzDnDc+W/FGVg48\nsBnU\r\n=CnAx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"This","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"7.15.0-vnext.4","roosterjs-editor-core":"7.15.0-vnext.4","roosterjs-editor-types":"7.15.0-vnext.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.15.0-vnext.4_1597045822075_0.5712427006761447","host":"s3://npm-registry-packages"}},"8.0.0-beta.0":{"name":"roosterjs-editor-api","version":"8.0.0-beta.0","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"367310a64070363700aaa361c75aaa368828091b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.0.tgz","fileCount":291,"integrity":"sha512-0+GTAVa8luaCsBELY/YhQk0gf/UZBayxg0MuKzgwkKuNDgaRjtmEUnG8CBGPe47T69osxTRIsjUhXKAozqtWGQ==","signatures":[{"sig":"MEQCIE8ejourMIZhi4FFBlOflcOK7bn+0BEpFbnYRV54P+CxAiBHDmNniir5v8AnJyS4gZuG4SElc7q5XxPvhue1GKmf0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":368563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNMSoCRA9TVsSAnZWagAAZPwP/jyEZqppb884XaJREJ8O\nRvnMIDzmlHQcikZJAoLHQz6MVLkTbNTqYRkZ+lXwh9zJEAm73oeZ9I9nRhoB\nB/vIvqKYzhux63Bfjw+DbhnmUmEjvtQBCKnzyGkqe6bmYw7Xy2zZpD2B8jCT\nJqSFKyW1dLB6SY6zOnWHPoUQgCcGjg9gx+4yMaWCBIMZzrD/8elTo4dWrVbx\nmkGnMHOs6WE+w+ur2sxBeJRSfSoaISufn5OcAqxdBVSRgRtL8721akqbh7mD\n0WOvlXVAIES6EC/V7zkdHPmVfo6wSqZbmvTx0wiSIoD5ZR8IIxq/7h5dj4Nc\nsEHMGEn0+enT4UIVdGQcfneeaR9flvliPjdV3U1gDQVAwsMCAT+tqkVzmUpI\n/9IgiODzJeJFl6gBDx3ohy4RAHzLLWK/0e/ZvEhkLt5DWbtVRIF5nxc+J/5p\ncShI/QaZy5m/WAoTrxLf5R2jw7QPR9FHYgQyCq52EQaW6TRR/tcmq/FeMDiY\ntyRtSOSYpGgyTbo+92JCoZ9OIPqjgFiOu1zih/SXoNjKLhFw2/NPThNulae6\nY2f8lzwA6OIkDV65O3uXdVbf6BSxS/yYrvbw19kCQyEFm3NVEggO6TBP1U4X\n+gQjW/bs4v9L39ZLi3JsLlvXOayDn6V3L3cb4+Y/BCSNe2VksNaNxsgncIEI\nxr1J\r\n=Fl3d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.0","roosterjs-editor-core":"8.0.0-beta.0","roosterjs-editor-types":"8.0.0-beta.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.0_1597293735628_0.14668834873202563","host":"s3://npm-registry-packages"}},"7.15.1":{"name":"roosterjs-editor-api","version":"7.15.1","license":"MIT","_id":"roosterjs-editor-api@7.15.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"d232583b8f1f470961614aaaa3181e68f048a789","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.15.1.tgz","fileCount":333,"integrity":"sha512-tDAeySvJoh69fmNkzGeonU/sBjRzSRczHMEjIEF7FXxhvXvTF7j4KWz5U+VmpQks/+EuZAuJW2tnSQ4do4WnAA==","signatures":[{"sig":"MEUCIDXTXztGC77w28EDKLZLS+u/em5ljqbnSTo5M2EnqyVCAiEApLohld0PeP2+zSIKERZ6jOqFD/YWZfiW3Cvo+ytMUP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPqcxCRA9TVsSAnZWagAAHSIQAIDXlDiLlKfEbUU7jdMN\nR2idUHZn9leXfZtx705oRjGKHP+Dex337uYC88USA39nVVAta3Xvrub7hz7O\nNuV30TMo0+bq6D5jdN393rkOizEg8HEKlZpwJX2qBXzy/pfA+X7C2Bcwpcm8\nUdNEit2r/gjYQPOswTF0HE4iWn7fjZi4MEJu7YwCPMu0M33o31zrxF+P01jm\nsIAESfgJ8NEEiybA4qUoIrnlECs3j4TBh1/p5vyn7rQd9ykfPdA+t9ELarss\nOSnO1t2Ok/b3OeH83Dkq+bl4vTzFJ+S0O/yHsk5tfJGF1Ltb9mncrBCNTvq4\nYJubFHy5bUBeLtEABzs0fgHsM9eR3rOBDFKoFtVTl/4yNZT/RfMI8DLsIS4h\nlLbDWTXGY8c6NlQ9CXLZVp1hnfXx/3j6CS+tVvQF8XN16wB6wzUU7CaVFeug\nRxTyPHHMnih1Mfb1tCYjQItb9kEcCI0KIsMQs0zV8hBx6b8pGRyk7ELba+lb\nqef90KvqHzJ3kK7GHlmohU3gC+ydLF5RIiH3cFvJegn89tnxSpOY9E9h1N/d\n4OadM7sQj+0SZivMc2iRdpiCt4E7wF+Rpmmr+S3ade7smSmNYH7Kvk3ndHWr\n+IAaDP/7mUmaA3cf8BY5qe8Tr+LzxlAhVmD/IbGxvnOWXTrgSCqg4uva4S0l\nbbzQ\r\n=nnEb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"7.15.1","roosterjs-editor-core":"7.15.1","roosterjs-editor-types":"7.15.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.15.1_1597941552832_0.8571379829929713","host":"s3://npm-registry-packages"}},"8.0.0-beta.1":{"name":"roosterjs-editor-api","version":"8.0.0-beta.1","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7f43e5023c9a468ea918ce0d2e918085058841ba","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.1.tgz","fileCount":291,"integrity":"sha512-OJFZMzGhLP6/s6waATzUYNwsYC5VHvgPtczBTb0RJ6VB9OU2S4nF49FyAyYFbz37YfblS8C5SzPebxMaHrFKoQ==","signatures":[{"sig":"MEYCIQCBdu0lPLw6mifq0kvuPXIDo6NmOG+tnOwWjto74fJ3eAIhAOhuThZok804rQlKkvIikuJVzQ6SAjnXRTa3kSZwv4rk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":364254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPuURCRA9TVsSAnZWagAAkfUQAJHstcEWycvu3P5/P4Ud\nTC+TtbNdmIo3gLJEUO6U85dEmXlrMbnHritlJ1xLi1Fxe5S/xYyx6HDzjrTc\ni/RVaI8igTrmgbTUUF2mDfnpLUBQidVqgaTlMarlrRe7aVREEzS0l705fjF5\nEYZZRquQIDL9q9+4MaYIsFe2Kmhc5pw89ryP1y9pX1h2cBg7dKOcc+ATNcgB\nufMRIjg8AGQdAVKeAnLPGMMSMipGcPtW6VjKnsDZC6r9jhma8jurX21YIyyC\nLEol5+ZsLs88LaKV/ZbRBPPDBCrCQoJIMWW5Vc4gmTk0zLkRk6OIe9piQ2vX\n9n+2EzPc1Pq0Bw4CX19ZDulRAY6/woyM7MzzSaupitlW1CHb/DlIx0TyK+Fu\nZJXLdaXJO/k2cDits+t+AvqNwX5A3NARO3kQuTSnp1RzsFc64jc4NgmGYJgc\nAP2mBOoWOFKquO0Ul8ppYslUYCznhFEadBd/AvQYP895UE/XoEoag5FRb/4D\nNHKZhlpTOO3ZaVT4fpzrhmuY0g1wsc0JSTXhKaKbeoKQ99t50KOMTBrKBBV2\nrL0ObUZtJmJfqXrOkKRlt2dqGMOMexcFq2wk+YC5OmDj+Wl5e4tG5tOuzLlT\nzrZ5iz3aw/9bCGHHCwA5slBv0GYxofDDr3gaf0lc+3nFI2xyNzu3LityqcV+\nQJJs\r\n=nIRl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.1","roosterjs-editor-types":"8.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.1_1597957392722_0.984587374794117","host":"s3://npm-registry-packages"}},"8.0.0-beta.2":{"name":"roosterjs-editor-api","version":"8.0.0-beta.2","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"db7b20be45876f6ac2f51d53f68be3d5b4c7917e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.2.tgz","fileCount":300,"integrity":"sha512-1BdyUyhNO5dfiyEiaZrP9TBKzM/UgbjYprtRhu2AV5BEMQR+ndW5fVfSIe/o9yhAwLAciIP//Mv5ui6WO0P5KA==","signatures":[{"sig":"MEUCIQDgDd8K/mTMAUzpCP9chIHae77e6Foy9UpR/98y1xSnUgIgRoDNyQK/VHeChIc4TxmNR51bKaY8DTpnbwtJQQjby7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":370412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ2MPCRA9TVsSAnZWagAA/MoP/i4Vu2mcQH2XiVDU+od/\nAyQzu+auZgyv64pHmXBxor2L1r+kA5EG+HxdYxMD+cUS65JCxmEFSGAkyVLp\nekXT8Q+a1SfOeBu/gWhEq1KjlARlO9UgryT8KUSKMcd2r4LGswMXPcbfwXhe\nOlkqNfoewYNXcCcvtinuFRDyQRzDJHJTJqb4LB3bzCnSaXWVGBMP/pb08ey3\nst6hWy3VwxNI5GRUGpQx0LdLtMV0gv90QFWBoQoa9aSlw4yXZmICoRP4PvU+\nQxL1gljB6vB0D1W+r+bsdipEyJNBIfY70oOth6eM7QAIu7VeZS79QNepH2fH\nK/BI9pxBgBKyWb/CXH9DmvDZpoOdB6dLtpqfaKurFbDvMclg8Hiijt0Yltft\nFJ96gE3h7RuRLIp0dNi3OpIU1fth+UKsslXnczg1LGVVxU3XG+OtJcX4NwUD\nAF11nGThe/UfR3Q+VlH9FBzB+dS4DJ6JItziDZ1ii1MMcC+DB7r/39gYCYhZ\noI8tDSoCfJy5RAtE7cAwyhCmfSFcrNp3/PqX1N6y65yzxKJmZ5CRMZ350sSe\nUNRHX18o/sRhQQpaMl5drjdVT85BY0A8++PCUArSCGZ9u+/u9CPCn2KLFxrl\ntQlH8xgLEtrdN25lscNl19tX1oaeIX31EgI55Vpt4Y9ONgDTm6mJCI2Ix/tB\nIWpK\r\n=UJAx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.2","roosterjs-editor-types":"8.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.2_1598251791156_0.8180878436334378","host":"s3://npm-registry-packages"}},"7.15.2":{"name":"roosterjs-editor-api","version":"7.15.2","license":"MIT","_id":"roosterjs-editor-api@7.15.2","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"70468514f59aa9c235f1697c1fdc53f12c4409e3","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.15.2.tgz","fileCount":345,"integrity":"sha512-bdTJopVLC5NaIJB3mKjqYjZPSu9Bdbn9hUQwnMqG3xp2Wuf1e4jUsXJDH06jmH0F9zlJxT6KCNnJMVOTgwYHFw==","signatures":[{"sig":"MEQCIGgtXX9H+aBiNGdFAwyQ2AYTLxq+TV6RsiLjiJvY5Q86AiBSIZ4NLVhbSS0XvMhQAdm7uTXedYvHj5L5jKT9nhV9qA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ/fiCRA9TVsSAnZWagAAtnUP+wUDJtfRxWNOr0DxGCLR\nNSX+MJ6SivmCwFWhykfYl+N8g168pG9TDiZdzvrX1Of/fucGrWc1gSk7n6Zq\ng9rKMhnr3CuoFWyykRU19cwCKlHf+B+QaRBtzaw3oAhhreyPvILxbP63pQg8\n9+4AzXjSJVBbyOWsFqUjPEuidBtYy+YSNRT+/4KgDu1pe4RRNDGOJOTuBu6T\n9TrSQqzfTFSAXzzcDF3jyEiFEsS8b0JrQz6pNn1c35v0V/c19wwwl8ediJ2G\nz30Ia7Z1YH7giQI+8EDlu9mHdqEJ0iqJjq/fCyPBSpr8AL6JIqi7x0FZS2x8\ndIcywGYEG7jYD4m8ohLAt1o5MoTDHdbKryLlW5FRITVbErwV3ZLhzqj7ZEXI\n8mxvVA8Kb7RtUC5jdxFega8wZZ+Jwpjrvhw38hn8kRSeB8MyvcM7sDDndekq\nErfka0A7yBOFdWenF0wG7LA2UQWLSuju2So2dfRx2LrYmYq97BuR4SOimHID\nDu37gWycq3IfkwbF98iep7yLgspOwg3ghfVij/ioQVU3GKllq/of98vobAfK\n9Ngpf+sYv7X286OdhbRepK3q0UZG9w422CZviIJ2FUF8dJFHVGwM/SdibW5C\nQQbdWk6n3z+E2Icfs4VyC9ib14T9lr2XDjBBPc5Gw1owmnPDYmr4MYOH+tXi\nklrX\r\n=3FaS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"7.15.2","roosterjs-editor-core":"7.15.2","roosterjs-editor-types":"7.15.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.15.2_1598289890094_0.36399921475260877","host":"s3://npm-registry-packages"}},"8.0.0-beta.0.1":{"name":"roosterjs-editor-api","version":"8.0.0-beta.0.1","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.0.1","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fd7ab9fb4aec629c469205b40e933f041a765036","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.0.1.tgz","fileCount":291,"integrity":"sha512-ttvU+PEU7k4D8DB+BrDiD91U6BPPzbZd2Nkljy1GP6Ap0ZJi/H8ShuiF/zHxLRx2mMWe2mXD/ANtJdezyc0VFg==","signatures":[{"sig":"MEUCIA8nIYvOlv0nCu0ssyckI8od7Gv5tqf4LY6VRmB1FrcfAiEAiZxGVE7DW5stZLdfpVRvt2U095iEcPp19BYI+pztefY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":368571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRDhdCRA9TVsSAnZWagAA5SUP/jtXWTOy4FQwmBvj7UsT\n9UN6JFNNzltQ/VXHZ9YVysrZjbGLJnmWiHROF54QkuoOGcDJa1OCHJ8REv6m\nN9WEc1JKpmTGupFlZ0hPscBjiH5bzPDrSnzv1je6DtRN6T4pRDTqYB0aOqfx\n0uFbVrbPGuBwN0OPBCfDfL3vh3SSjvI//YHjEvFOE1tJCkZ7bbn4C1PcsL+u\nLmRqwlvyfZfnFl7MpjCo3fcTodS5jcz4tAtbsSRGDhIk14LKpiWBF/QQ3KGK\nupBJAU8TLKzlI4L16NnPdouq+4MenZbOzCoJp7cG34TeIOLJmU/Nee6Nc7Ty\nRTentCshhpSqR8kQ92WeGHF5klHsK4ahD8RJl5Yo8wPqaIDYF6bkp3NK+ACx\n+WqWXSLeHVBPcWtmh0hiCy04yPAKP4DJyr68xmxC807ep1dfLgeWY+5v+ma/\nWH6PniWrdNJjMhraxpwc1tZ3OVvsgk3/Ha9Tw+De0wqMw8ih18pchR9XM+pN\n5FYIdaHBxV2zC6lhFBkb0Q68HJrx1nT+gK1410PLa9PP8ER32uKVOSQAWUxy\neRZw55h7VDAcmrMjFnMlsQD3dmEe14E8agEU6Z6vceA4vVuD+/Ss3MI2joDQ\nEYeicBvHj6cSU593S7adhmnJhnakAp9rblff2jJn+W9Y8ExbKfzCJdWDKCPt\nHFZF\r\n=3c2+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\r\n\r\n   Defines APIs for editor operations. Use these APIs to modify content and \r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.0.1","roosterjs-editor-core":"8.0.0-beta.0.1","roosterjs-editor-types":"8.0.0-beta.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.0.1_1598306396634_0.5513463877985811","host":"s3://npm-registry-packages"}},"8.0.0-beta.3":{"name":"roosterjs-editor-api","version":"8.0.0-beta.3","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.3","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"2ca31f49e32182550ff553972c67242fe43e7ea5","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.3.tgz","fileCount":300,"integrity":"sha512-jQPJDylWxlJ0vA+Q9g0BLjXwBUabcqTBrh6uzyjeM2GAeKAE754JDRP/XFH/JWso2/J7SSPcX7wgFwv3NyjpaQ==","signatures":[{"sig":"MEUCIE/MkkhUSYanahaDpiSD+EqaZs3EzRe5JiRLkCHv/va2AiEA0L+pz3HuC+Mogwd0oHVOwZ+D4hYfBNqnQ09HdmNkSfs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":370412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRIoWCRA9TVsSAnZWagAAMmsP/AgljrSuxC86bLJK1GAp\nSWbJ48ZKc3VELr/sv3kupD4QQjB/4i/Y/taHWQTLWs7+govj1WCekfZ/rtKO\nEkUy9xfcvj182BvvZYlXasw8O8D4DgzZvEjpgpcC69zU1oLagW8YRvNNEk73\nsBpga6RJUj7IPurOmPsGcDydDmOjAIZaNWuE+liHM3ue/QwWYZBfffoAjqhI\nhPENPnfERI7c/xtc/5q8uhxAE/Uxaw1Vs12VybMFrpkyQAdcHwLFTaAA6l1Q\nLx8D/ngX/zF3f4QIJ4CufWBwlGUFsIr/wm8BQybiMLC3Y8/nf1gHWu2QObrN\nAvg/mlnvsH93kuJvtNEE86KnATh0VkLzB2EPAJvVAz6DKqiJe6YhMAFZ7KP1\n02wUCkCEIregFL7iQH6VNBjFu4S/iWVST+uP+3pVS8HyUxU90vUDBPx9gO6l\n9Ih0/tt4jDVszmNPTBKqDu7bbJGW09fPT0VVW5H3SIVo1U4+QvngDzvWyZBc\ncFtF2dZp82phpSHcWmis2XZe+KBzpeWa/I4SjpXMsPtzs53n9bWsPuvGc2ye\nBsha5fJLQr9C4uTqRh9mOhwFVHGn/XC2CX0C2pzF6+ZinEq1kpIU00NvqGUS\nuwSC8UNAkFD1jrD5/dohxuL9UztGja2O3lkl/sUo04gJv2vTR/CNeRYEIX43\neGt8\r\n=0uSa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.3","roosterjs-editor-types":"8.0.0-beta.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.3_1598327318354_0.7334163274249716","host":"s3://npm-registry-packages"}},"8.0.0-beta.4":{"name":"roosterjs-editor-api","version":"8.0.0-beta.4","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.4","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4ed4f1096480bfb0ca2762f61ccbb668445cb9be","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.4.tgz","fileCount":300,"integrity":"sha512-MYUxPkC7Hn9GMeXELpEAz2Uq1DRzGC3JoBiCb0Icmhu+W1gFmzsXsEDMHxI4yo/x/AiWOqCrjzzRgwC6bZ33Fw==","signatures":[{"sig":"MEQCIDpkXY5/FYobdnMYF5r7yTjAUc8elWAp/aIYFATQLVjYAiBnW3GYJXo4RAVJE2/Iqo/7mTwbkC9xesoYDoNnMjTh3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":370580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfS13+CRA9TVsSAnZWagAAD+0P/i6/+lWcR3+m8vgiW3UF\nx81ZNupYBhBXfjiX56fA5RMvAurE6wz9D1Q/BTT5wuFQxtgU6orSjYV3UZZJ\nkZU7aj0RuDV6Qdo4phjbCViBB/G84VCbE+Er7yJTPbjYEXvx6U1Ta17T0TnG\nVx4a7JuOsg/pzJJrNJarbQ1Dw+68xOHaFuD44OgaOtRxORj34V8xjZLJTLXl\nRLihvGCFXbuUf/Sl5XkugP1Bj35zHpKCEPjs01PQfGUG0nrvtF0g/mOBzPa3\no+p/lk/3iTrd0VTCki620TBsHH5i2NdAZOaPX2CTiQcSWqVoKZL9TA/90wat\nTVum+lpCp0rWPC1o/5YqAseRzyFGJz5IMRLSnkIwfl4e/4OCEn65bVpVvpnp\ni2z7sf/mAVnc6vPSGsp5CXZa5iVnAjSqc6zhZ6lsi34uyZYi2G7nzraBG5yd\nPnIjrPV7QeIpjncR96NQlzPsKzLWH9puNXolclmnn+R8BCmLH5CjpZEB18J2\naHpnHQh9pfz8AFq/vPZ3WyO0mBMoiZ4QfWXWdz/8iqmSDFnkafyHy8k7dlAy\nvg+P+8eGtxgxBk2kK6Ck3eXMRGWuoqblzh8DLLWQYkICjiVAh1SRWSusvN08\n1WqgfGtSP7WtdWfxI9s3srLuCmbS/Tu8Ak4pzWjDEsAIce/QOspPeLhuSSnn\n4tTq\r\n=LQfZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"# roosterjs-editor-api\n\n   Defines APIs for editor operations. Use these APIs to modify content and \n   formatting in the editor you built using `roosterjs-editor-core`.\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.4","roosterjs-editor-types":"8.0.0-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.4_1598774781508_0.5543778411577989","host":"s3://npm-registry-packages"}},"7.16.0":{"name":"roosterjs-editor-api","version":"7.16.0","license":"MIT","_id":"roosterjs-editor-api@7.16.0","maintainers":[{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"5d74e1cb8900068a55bfb2172889b21ef4f15eab","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-7.16.0.tgz","fileCount":345,"integrity":"sha512-41LDvDTFTh2yzj9LrePltjI+SUXFzGDDI1xnLcU0znc7NyueQD4CTI+yNAhrArw4GefG1HKMpZsuHi9FppTRQQ==","signatures":[{"sig":"MEYCIQCsDJCDOkPTi0/9Q5TToheLId47LNk4N4n/ObgQNSyfkQIhAIGPs1i9yWFu0Od2MOyK6gan275sUZmRFUEqh+44jCIe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":453665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUer8CRA9TVsSAnZWagAAZeYQAJRAjIgi7Ny9+beRS7W0\nss634ufSOChLgCjQn4CIDBMZ3fasbzrYLQbr5JKBTObhWucc4NH/duNb+Lbh\njyVwiw2wagZaQz8utXQNihdV2cO9riwC1Gm9J+qvEg3pmvMzmZTVC1SgXxC0\niknvCkQjb+a7WuItxiRm76o7tCbJ39uoywLZv7DqwLtvfAqiegZoNBfgRSy3\nkkZDHu/qSwaAmJLjoJwpIEV5hCfcVn7Q26Gvw1IOEjsTTVtSgzegKMwgwHWM\nqnNL+CxbrExi2QnF9ShcODZ2LnPCbZ/H9aYUU+yOXsf0DYfKmAxGRwXDMgbx\nUdHUfmExds2UnoSTXTxDD5qeowYT1ND6wwznf3OGbZ2GSlS9UUIoxxAwCYsV\nh5j31c4XM4MpM+WwSp8DWSSXRKDp5r2PDaVLiL0sRDJjDiO1mcwFTwu+vXmm\n9yIbw+H6LhxA3xIDNUWLhAZDDjywsCl5Eo5m/7AVemS7M/fBKc+s5d1XRZ3p\n73oxQ9j7JPZ20JLez+b/tdeUOLKlUea00h5fAwSEAbkJzhU8XoHSHfU1oDR/\nOeUk0Gk+VnCC9fso8clNkp77Ke5T6ymhlsSN0/f1S8QlsSXvhTzi2xGZ3bXe\n4f4fo/361LWvfphl41ckVPL6Px76LGc1ukN9jOr34eQadbnLm+ZWBKo1f5Xo\nngwt\r\n=OBPn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"7.16.0","roosterjs-editor-core":"7.16.0","roosterjs-editor-types":"7.16.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_7.16.0_1599204092334_0.48247321709100244","host":"s3://npm-registry-packages"}},"8.0.0-beta.5":{"name":"roosterjs-editor-api","version":"8.0.0-beta.5","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.5","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9dc74592257a515127e446f4e95764f51acd6a50","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.5.tgz","fileCount":300,"integrity":"sha512-9M0Xx6oljsXTedNg7WWIpeklwVSE5/1jy8OIcJS6e9rqYGb62RO1gwgd7PISaVWn1QGYj2NKtPeRlLmxL9H4bg==","signatures":[{"sig":"MEUCIQCEm81SXZJ0CRoaVJ1GQ6QFPMAa4BqpjC3jHazMOy+wFgIgXZKa/hJS4jYo65ZFd4Pmylrs8FOAo1TKHZrRHZl9YOE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":380846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWmu6CRA9TVsSAnZWagAAKCsQAJwbhDqEiAaoMYxXmWkr\nMJ0Vog7iDXO+7WZyRkKDFC48JC8vmMJUz81SCbkq1boswTq+s6/9irFSacck\nA7697LRKu+Q9/IZyKAXhd/COo1qTKLV5MzIlSiwopf2QkEkFczJtTBjt8EZK\nnCUrDV1NP+zeBoWwnxrE2Bi0fkDP49KfkuxiqYOECVlkaqjL1sxkF8WJ1omH\nYOLBJ/ABBIUmtwOnC45BkeH5RfKJ7oY146Qd8dFzxdlwAypeFzZLtuy99gva\nnAnmLF9U3Le1Gq2es/ca43yV6HjNExJfMCbS1kjVQk2rarDu9B7Uc5cAjmUA\nYlpaHZ9Pdjf09U8ISu3IyKPNI09v05nAusNSGcVzkd7pkH9kwgdC8J5Gje+I\nxs3odo+ZPKpDx0yz95w3tHsoZejtwDMlF1N2mRns8IAoFQ9xBbB/8wae2/0H\nn3h9eCA6nAgrRlRSiZusvwHGNscu0YHKVZlBnxJKqoPGpQwFeOgSoCzN+HsS\naGLs71CsK2RGnz6YIMlY/4HJ4Pzv46fOGkuHh3X0J0mjSidrsHSDVGLy8ZTb\nNn1D3jyPzJsGp+BATtAU33o6zpUSbC6rLCwmWTy9EqwIMfzPBA5p8gL39ymJ\nkcudoRS3yefZOdveBvR9kTE2asRLzJdiYmoWVMf20f4VlvcqrJjyfyiU00Vp\nvefw\r\n=wM9E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.5","roosterjs-editor-types":"8.0.0-beta.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.5_1599761338532_0.8247460467892385","host":"s3://npm-registry-packages"}},"8.0.0-beta.6":{"name":"roosterjs-editor-api","version":"8.0.0-beta.6","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.6","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fbc83eefe442d3192fd6977bd12e0938a253be0c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.6.tgz","fileCount":303,"integrity":"sha512-A/8IlfQqtCzu/qrjVZ1Q9BNq8SbfJlY2VNKg1TLyfetHkssxCCr+A876AMzZGbmqd453qC7cwv3mMw5TXWNKBA==","signatures":[{"sig":"MEYCIQDE5ya8pjVCzpLzPdmXMM+QsMG0NAfFn19b0Z1mFjM+wwIhAIeovS24LJQ9jJibvjS6zDJZx4THsMtV92RrJviAViOT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY8PjCRA9TVsSAnZWagAA9twP/1pFpR8F60AYFm6r1LNo\n+6jj/5JtKeNd9u8zRFJ6TMOTnVEEN9PDq2beZmXIr5+PbJz6mGDMXI4Lefg1\nD9LV44HFsqB46gtxAJQY7RPME6AcTIt1CwVVvImkGRVdotubN2OAu4jEMiiV\nZuLObVX6mp1dxRMOWYfBByeNi7Cx5X6YUphOn0LMsjqg9XSeCRVtoW4dlTLG\nxwz6ryo3rHEjld9W46o2Z90q9DxdqEJMcB5WbmINZBUtWF3l1Cst3c14ZIkv\nRk3l+/M38bMogLjy0SqGNWcX4bnbbv3QxDIK2L8aKpEfxDDUhPMtcwF3tJVl\nCeuQAWE4WbGcH1AujsupXHruFqvwRkps/FUoPnVThVWvgAwmK2AeRVB1xFNN\nrk25jum8gzQ7PpJxOzOcbPGiU8290Xqv6PsMtiV6AUATliv94dXt84p2uBkv\nu4s0yE6VwAWl9Yq3gZe7H/VlWbYCXQ69W/0z1jQBb6UG/d9QL5rQF5vw9//H\nYIzzeaCibxDNKq66/H6X/DIWP0bmLj5SZ/YGn4tKQwPMJppuaZ6eglw4NqmO\nSjY8krpRcvd4WmpUJJsK9plZEiVJ/NCqRfTK3nTh6TXCYo76YGAGBc8ScFDQ\nx8ykXechB5SgzbYkUFPFZXkvbWRFD/J8ZDaAzApk11nHzDDWH8iyjtAyWK9s\nRRhH\r\n=FuhA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.1","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.6","roosterjs-editor-types":"8.0.0-beta.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.6_1600373730932_0.6334756370459851","host":"s3://npm-registry-packages"}},"8.0.0-beta.7":{"name":"roosterjs-editor-api","version":"8.0.0-beta.7","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.7","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a7afdcdfe862dfcdf37396b6552ac042832497ea","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.7.tgz","fileCount":303,"integrity":"sha512-ggFXZeRgpZakMjx2LffYDoCQPKR3XtufMZtLkY9lMj2lPC0YJUKislJcQR0uOFTdWCqSjS2uts3gdUMQEsnpLQ==","signatures":[{"sig":"MEUCIQDyZlLpKBmSrucBk6mtTgFoO9KZejkEbHaDyrO6Hb9A1gIgaFEH/YEjq1U4KOtL15+sByUxPkV+OAqgmjz3zOockRg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaDryCRA9TVsSAnZWagAA/+AP/RPWqoKaLhG1QAc4zFUg\nIRQsw7veSF6FtvX0aDMZ/gzvTA0XLraHA+3xDEMJVza4jWMr4676VknU/DoU\npHgHga35saWBJL75BJko4O/mbDIKehcnp3c+6tMmxUevKrkmDmtLtt2SbZfQ\nN6+20sLoseLVZALrxLqKN/k/ofQfvev1C9yPk8vh+l6tovJrUoq0ED/UYn+Y\noiEHUwRzPXPllGd2OntgQy05PAV+PPvyJ8dgmCr37wz60D1s812kSXXTG8Xs\ncFQGZA9N8eF4gA3Re3Slzgv0RfEwxKjsK113grrquDJiKrV+HlsAHzYpKGrs\nnzwuolwFxRihxTmLBWOk91GtHnQ0FgzldceIHSZXAEGnzh0NBsWMXED1e/Vm\n/9Dg55YPVmZDP7ruUKJC6MGb9zwZnU3fe9L2BBVR0BlptUiiGvQWMs5ewegd\nUPxZq/o5s4qWqv4OGM5wk2bizaAlTEQn3k4XCOH8lDIqGQpW2RglpJtRPbeT\nQKdsiUwVpxXjx1NdQY2YZp58gZFiftxI3MJvU/ONlCuDIfvFJz70HBbp34X+\ntrhmFWvWq3+rK7FtSBLZXzui5lKV1bde3cXVc0Dunud3gS40iGLdZ5UNr5dM\nconzPUC0iXu+snx0pLhEbKX34PSR2s0+dnD0teM4iTA3BethqhCOnfos35OB\nm4he\r\n=BeYk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.1","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.7","roosterjs-editor-types":"8.0.0-beta.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.7_1600666354353_0.9426650104266698","host":"s3://npm-registry-packages"}},"8.0.0-beta.8":{"name":"roosterjs-editor-api","version":"8.0.0-beta.8","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.8","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"54baaca728f41f51fe029ca4f4a4153d1cbf6784","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.8.tgz","fileCount":303,"integrity":"sha512-Hnz8PSQY/Z0oKOq56xtlL3+ueTPHeEyp9rhfzxOkgKZspGff0PIZPOBu1kYxjlOUqXOtSS1JgZ3eRB8YA3UR7Q==","signatures":[{"sig":"MEUCIGbw2MAGroO/q3MaKlOaWBPeNWRTmEIpudmC+cz/SvDFAiEAxQHGz2W0bU8JHkksf8vPJyxBvnEM4E89sz1X0Ho4/4k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":377757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbnUbCRA9TVsSAnZWagAA9NkP/RNj1uCizuPRU6TAui9x\nC4mchAfwBkji5NftcXc2GLF/BSGCL3OrQriRAhE7rXS0JswqFytu8htIT6SE\nAXUyb+4O0fkgCkF18Wy4mjP1Hh9Veaf024A4jI3R0Xg0N/gxaN/9s5smuBnf\n7jWLxqtY1Ytct/7DvgvidOppC4AG7ohHk/yQVNVFPGG05q2bqk3kmdpmMRXn\nAhB7J36uYpaHrNmc9OoWJbi5OA7sqRvljVs66DK1Ln0YvvyfNzyPcwd60Oj3\nmy5Yu7zWXctLhXuagFH1R2/IxmoLfXYkKJoxj1P4m/c3zTVidrkp6A0nE8Pc\n1d42FUOZ7Fz/NI5CSp+zeIZFDryLwkD2qviat1zlvVsGq3bdApiaTBxmYeZe\nGv5+swyIHEzTIervHPfIHe2llkxU0VYWGG8oYWUx93bpGqFjEfPOYPM0gqlR\nW824GVcRUPuIKYRwPK93Bg1YQMJj0YIxQjQDtmq4H8Kz0h7D+zOXco2Gee4n\naYf2znjKCEfwo6/h3hjwJd7v/cdm6L57WFN4CHOAIp9dU5bb4+edeVc+hsdz\n7c6XC77jrbYK9v+QLmUQNmGQJYZpN85tYFTg9U5FKTijZf38wlbVb/6kkP61\nF2eXn/q8gm8wlw5Pn2iYS0fsVsvLXwIoObQy2SIAhVw+1FH8KVPzSvK9G/0B\njL3s\r\n=7BOC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.6","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.22.1","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.8","roosterjs-editor-types":"8.0.0-beta.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.8_1601074459386_0.1113408276791672","host":"s3://npm-registry-packages"}},"8.0.0-beta.9":{"name":"roosterjs-editor-api","version":"8.0.0-beta.9","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.9","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"97bdea697056ce9d15020c7fba0442390b5583be","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.9.tgz","fileCount":309,"integrity":"sha512-o+klMkjegEBKWcQgXzUse6tWce+zx1Gs4jjnHjpaLTXtkkGYJMZo95A8UqiOGBH2BIimE2gCNtxY2/OyeRKrQw==","signatures":[{"sig":"MEUCIC223XMy4U7ZKsJU5F6xboJCf86x3i+X/IfcnIxWA8ONAiEA3bVTEsbVTK4eDd14Ogb869eLBj4zK8hnV3q2EvNVJX0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmzVQCRA9TVsSAnZWagAAc3EP/iTnKXfzTtLeEQp5OZRB\nkbubI0rCukED+RzxljABJ+rIE/CqSAWYKUtY9RUjcAKmW6y69v6/JBTf4qE0\ny56xjnRhZODjPfeCwB3vlLJI5Za3rR0CY/386BOnarLCh6ROt4ZIiSEyoTnU\nsGdCqJHUN+Tx741sUjMHlXA7V+dvWgtrRJMWbYY1jc7yLn2Y5x7maow5ZTzQ\nD+z+dCpw4sVhBi0SjtTUlXYNG7I7RwznuDs2YU8lTuunffyq0WSdLBvM2RTE\ng2ybJ6rGaIklrEnOxVF/90DRV9JzS76Mp7l9xKAHAEzbsA68V96+KfkF10aP\nlMge8DbHvuUMqZwWMa1gc+iZVFfS6zXrVItXVu6ryyKaNcOp0GhCI+6pqY/a\nrkRsbJ4mAuM9qb5qkjHM73LPAd5I2rCy/jXKrD2bjfb8dR1xoQgnPFm8oPBd\nPtni1PLueTPYsiln8J580RTEfyuSVPRnHzFcTsBtOW/vR+Jl0BWh/TtKVky6\nZfJxa2+q4CrU340RrhZ183Jk69jq4nkbl9Cc2SDy/1TS5FaWsWVuz12G1xmu\nT1IcaBauoo03mS9w8iaHk7C2vxYI8hOlBvAJYkvz61LOYEXBWBJxtxnVfAgK\nguKFNcuekL19qrjej4PVZMXduM5UXOGvkp90z/0p3ibIuOA2kdaKrgyxxVv6\nWMFv\r\n=68r8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.9","roosterjs-editor-types":"8.0.0-beta.9"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.9_1604007248318_0.42946612889442415","host":"s3://npm-registry-packages"}},"8.0.0-beta.10":{"name":"roosterjs-editor-api","version":"8.0.0-beta.10","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.10","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bcd696352a2b6af2c59db3ff8d08a15894d6921c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.10.tgz","fileCount":309,"integrity":"sha512-CNb0MVQT3k2OtQXX9f5ekP2/qgzhgnGGrthLd4sr2ATJ2u1TzE7zyUr+0pHM4JjAWc7h+8PnumLpri1WfXVSfA==","signatures":[{"sig":"MEQCIEtPOx128SafzFyVZXq+1R4wBN389Bil29xzai15n8CVAiBSDlRvLe5wjYZpltV8LGY1oAAz0gglO4Cx5OR45vRm5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfm6uvCRA9TVsSAnZWagAALSkP/2zihvVt8zM77df/ghyh\nHVYJmIyNU9olGTB/H+2jw4P1HKjO0PzE6v3kn9OPaXD7mtzC7h8x82mvrkw/\nOLPWaJ4z4hTt/4M7zd5SElfhKDwM/mdKZ8SSPigt3OIF2y0UG1LYVloQFcNG\n19MKNUP+MJb8T1T5Bd1aBRQZMTV4sTsOcbCXsELxMuNJK99HM6Dey6/Ka89q\ni/y8dQNII/IUiVayAOJ38eZp5j4XYt7u/50F9LeBR24TF+W2VGnEkBl1RKL+\nW7/5X7hK1BaYJfywtJLOPB9bx/ckGk+AY4h8wE63kIUgSNKX8YUO60KpDo3h\nOB4//gR7tDgTEp8Vxtud0snDUv+ac6HP0sgjY53GKwT5rhQi3R8XWgGL3r6f\nJLR3sFZAqWSt+nd4yDVotSUIu5m3WPoPFghGlYP2c9CHdu4Q8Bd3ja8JDfNL\nUsSDv8S0z6iEsejQ4lKQ7XTbaHkVPxLIe9jVUNqQf+u8obq2VV6a0vfeU0Pe\n5cdo3cnFtQoBuki4RnWjvOT/evEbKN6t7qcKBa74z0OJ201ZBeZIn/FqEtfG\nk+OGZNCDja5q079G5TMiv/N0tj0ahNdCwU577+h+5l7tn382kpdfekr43Mly\nrp+Mz3uvoVdRGi3sPQNm8bRizVG/bwI5eqd4kS9iYQ9tGKWHRwuueVXnBYV6\nOHzL\r\n=Ne63\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.10","roosterjs-editor-types":"8.0.0-beta.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.10_1604037551438_0.21319567496589809","host":"s3://npm-registry-packages"}},"8.0.0-beta.11":{"name":"roosterjs-editor-api","version":"8.0.0-beta.11","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.11","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c1094faacb8bc8090a266b09f588873b991ee6c8","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.11.tgz","fileCount":309,"integrity":"sha512-zJs7t9+/GiMaPl4eLtsDsUoA1ZwdTAfaZtt+ImdFUFJ8CghbM5Dz9rflS1f90LgN/CDMycq7sMfQ3u7ToCgJiQ==","signatures":[{"sig":"MEUCICZVWOgcSjbN2QKBfyVJSNca1GYLwOiBJ0g7jvSqjYdgAiEApV3cc+RkY7KhbbVrAguYDMx1dj70gU6vj8NT7FmX5+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":385435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfozSoCRA9TVsSAnZWagAAzhYP/0vduj43Q7q2Yhvu11s3\nNpSxcMPbBBGr+7JQ7W1/SLKxCuqCVihDbQypHCkT+x7dmMQdJ8juk+C/1/Kn\n7qNz8K/rF/z4FoqVSXytCZ6cYwhmiae+UJPlK6tmkCoZ6E0D8fFHkrY6n7Eu\nGyhQgR3wUcXHD5nShG0J/WHWgNuyiP2QNE0USQp/VkdZw1q00uQzdtmyY01h\nZ3fZ5Ihx1jcXesWrbq9jSsFPZb9unSnyXWTfGpn0yfOv1JtYHjmXeOye6Gc1\nr7Zv1XzIKOiy54vGOoJVthwZOc2MR4gq3zVH+eFNd/ZOMHHRXud3SMAUSZFD\ngnZYBE1kz+LKk9dBn8hACPvOM0FwOtFm5WWotyqFIWvVp7LRIyKFKC7tvkfH\nIwxO5yFhzqxAEmB3Oa22nkJU/BbSmBAMPrgMTPdkmmcdNBjDnblUqITF9ofa\nI/cfGjuh3ZSGKkpKat8+eK0UTWHRyCLDQTNbRrG7jaYP9Z6Nois31iXvQZGy\nX2US4vslYjF9SUODejaHXsIyCXIHGzv3iK6uiFk794EsS+C5/9sue8eJoiOB\ndYIBgfvNTVJ3GPNMb5QGLci3BcXYxC0VXbklwxHK9FFrTxqlOwKo1FLZ+U5J\nF8lFZbsN8oxuyejsBLNOqdUpkG4rbeS5F2/TC67AQilS8jYyL48UNrlh3rmf\n6Hve\r\n=FMBW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.11","roosterjs-editor-types":"8.0.0-beta.11"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.11_1604531367922_0.623009945203717","host":"s3://npm-registry-packages"}},"8.0.0-beta.12":{"name":"roosterjs-editor-api","version":"8.0.0-beta.12","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.12","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6552a3a78c55d61f253396e96d9714fb161d0528","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.12.tgz","fileCount":309,"integrity":"sha512-1YAXjC/rP9NNPm9vKQSTicJFEX0Qy0FbKUZwzbv3Lvq06oyxiB5eLp+HWmq9uSlVaS4K42ItH2mICKL2r8kj+Q==","signatures":[{"sig":"MEUCICiNsQT03OecW05UqW/31Y8jagaMsKRRx4nTlfRYXv2uAiEA+82L+Xo+/HyNdCsYir7kTFlc2B+R7oRYOvAqQ2UggZY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":385435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrinLCRA9TVsSAnZWagAA8EUP/0EsmlKqpMQ1lfjcnvKQ\nFYP7bX1uTqN5B6s/Bi2PliRO7gS6FHGAM7XfbT1spN7q4TLxh0mB0k6Gm8fd\np2sFAmrHkyGmD0tiySeNzvyj0+yo9pifJI07R1Z7c9Cv/mhi5cxM/tC80D4X\nNKgeQg9yEMvY9FNGs6P+8jGLiy8lb39cGA2Fdg1/u3RZm5IF290RM0TZM1F1\nfvIyxwBTbdiV3g69wImiIi8ESUYfJqeW/nqLK00SuSCsfdZa1pSHldgiUpX/\npPQaL6EMH/VUize+pSuxpQXjHah3YrW9hIC5dFIm3ImFqzE28bH5Y8Z4TgdB\nb9/cwMZrD4wUhmuKZUuG1bh+YqfluBuw50zQf8rDhmHf/gmVs1myO/PfF43R\n3DOOjczU6oLMJMRy7x1q3ARKJDhDAQPS9Al6q2rphAg3ebJ82unjKQ6bRWL1\n4L7xNKszu/XbbpWeiyqqyySfqEVyJRczd5yPDvegf8wnA+VTyqX6Pfnle5eX\nJyxlc381bxqyx5XPYRStYmk0GWJOBdwlK3ELePBEHBC18jLOsl0sLRntHdLj\nORKXQzBB2vTAaVjkKb6yVEneI+vwqhFbO618196SImFR6p1A2mulihJ6T1Dj\n+RDLySc+V2ol1//C06C1L50vslbskW6nR8D2c/yPhdkvAwikFakHUuJPmEkP\n5Sok\r\n=Wp0v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.12","roosterjs-editor-types":"8.0.0-beta.12"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.12_1605249483537_0.9580896800697427","host":"s3://npm-registry-packages"}},"8.0.0-beta.13":{"name":"roosterjs-editor-api","version":"8.0.0-beta.13","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.13","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f5b69b62695f877cf8faba872efbd1704a19ea14","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.13.tgz","fileCount":309,"integrity":"sha512-ra544MKZgixkE7pSPAkQ3NHpbmlO4hts7PkL2WkEEi6fPBNzLQI/R7nWctmzMdrcqXCEKEppf9SadYjFl02yIQ==","signatures":[{"sig":"MEYCIQDInHDiRad8cWS+wwHKLu8R1HQ40AFrSkp3D5V5CHp3nwIhAMjl0LtrTXo5E4ni4vp003z8mq/8O3rNbiLjSemFbAht","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":385659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJft2GgCRA9TVsSAnZWagAA9kkP/01xtV9jDVRAoaI/t915\nYRdjH5vjAhdtYnG+lKDNBzAFM/P4Q/QTWTGcpabJhmVI0ufrb2wLPT1qIVe1\nSKpzJHA8byvGg6eN9P9uMt+aBKLoD9saAlTd23oKaX5Ls8XEN8tfybakDHE3\nj7EK2uNWl9Szyb0StivMsRK/J5ad8vpASk4k4CUKzuHoSDMduMDbKi4cRiTT\nXqstDwm0TTQGLZyU5zFYmhdb6zQRU+m94hEJDqbAk9GO9RZ4HR2iBX/560Ch\nt4AFuq6n0eF36yfWzh4oS1xiJ1SczubwBh4+06XAr348Ij9BYPYLU1Klw0G+\nNnDysKEamFoQjwwkvHS3vu4r4t0WTHppNstysRFmBsIqOK5TlOz9G/1Dowka\ntXvG7/PkL7Cb/QkLS/XcI/z1ryzmqbXBddkxCsmHNFlzDnDOVQt2YOvjMRBT\nVL87shE97Pv95nW/pXehPq1ezlFAKPZJQWt9sfPKOsL56suub1G3PIvXYGcE\nJ1WS3Io8A2HdnY/o6Es0jpOPmE5bwdb8QOdVAgl7GRZpUUc9jXUrM8I23EJe\nBNJETu2b8RYUDbRYR8HX9Uyy38Ey/cJLL7CgT6oPbd/gqLCof2Kld6ox8XqZ\nTcI7YtjUGSVZWbLcFjFg94wi1N5erdiT8m2IJeDSxw0Twzu4aAqLNbPiVUc9\nqZno\r\n=aSJ3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.13","roosterjs-editor-types":"8.0.0-beta.13"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.13_1605853600314_0.7206269467109705","host":"s3://npm-registry-packages"}},"8.0.0-beta.14":{"name":"roosterjs-editor-api","version":"8.0.0-beta.14","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.14","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"406b7f45abe330637c7e056a589b9d731e61d617","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.14.tgz","fileCount":309,"integrity":"sha512-jyLHtpQTPFbcYNQtZBV+0W68cxK50Gc/PdsTOjuPPk+73sVo7Pfk47ASk3uAnAc/cOSGEXq+HrMESkwwU/lAAQ==","signatures":[{"sig":"MEUCIQCGZ4tKb/E8PYlLpE3F8iYlo0TTIP9Y/LhLpWeoZDGDAwIgE+d/yWEWh0TjbnCdEa9MfY9E+1RZEgVLkMqAMMklHEs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":385659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvrYuCRA9TVsSAnZWagAAxCUP/3Ein4Wf6rFxqCwhoFVB\nlqa8QF+yEXuFRL3XDHv9W67wkoGGABORmAbC0ruijoGFFn2asgZkQ4BpI6I7\nScYBSKuJY3Js/jFndG4RgLxceE+f0yPp0IYePCCQ1qL2wSI6NJO579JO+RBq\nsiopaNfKCDSq6N5rRTjTguYgggjrz2OWMVza/KTSXel+5fso9Hngov+zWrao\nzmOD1yV43psXaIcpiC7ooTt/njyL2ZzgYcrXD7MXr/W34zxktU7KrQUTzMcT\nvYKMWzK236dWbe6zMrLJpWrwZZb8bs0a9woh1nJ+pwMWVWaWIUxIJ6138Ot/\neb1Y4oXrKpOhtqs9hz/aAwM1c/sg3SN9DT7zjIdGyJ/TmioqaiFc39Y4Ntp/\nqRsQ2TbR8qR9I/ltuCtq5vllF+mFgRXY4m1YhVwDFRPfaudEVks3nkhGjwgb\nt/77FSAjXZUNnS6mWWVRUcvOeujV/Rsoo+DTCu4BuydNrJn5Mh+mfxz3lqTz\nTdgfaTrhdeqwhp+YMbTeiujJ3GHy84ZSepVEMgQH7+IbmR9lvymNDcUHIlIl\nfFu2kQmHzTCJVu1xlQ9NYnO4iXqlNX2zg3VKrncY4N2gFuwFldCCAvFQblLH\nEQgtaJDtXzivzCRBUd2RmRX6kes4Nq85uJ0xhHzVdGJSXg+Hqr2M3Xq9+BRO\nnn8M\r\n=+Xhr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.14","roosterjs-editor-types":"8.0.0-beta.14"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.14_1606333997841_0.9317663691011784","host":"s3://npm-registry-packages"}},"8.0.0-beta.15":{"name":"roosterjs-editor-api","version":"8.0.0-beta.15","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.15","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"90c266c50ee8e5391addb12096f8787687be1c09","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.15.tgz","fileCount":309,"integrity":"sha512-CoQFPyRLfQmNLaQD5+PRuSIghLxYjIv3+uEaA13V70P332fYwwVIxxtpHeXuHlf18SD81/6pEx9hS2A1zYTMyg==","signatures":[{"sig":"MEUCIQC9bPzU04Lt96bWGWwJKTt1jJWtISaWQfZ/tp2eK809+QIgJOzlOu7jI+NJcOsazzZHvVH6ULoK49UYLccKIab+TsA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":385659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxdqICRA9TVsSAnZWagAAnqgP+QFoPx89JZlvEBVQsHmT\n6XkmJcfji1V+Pinnb/IRgJiorWVgEaQfD9k0C+MooP8eyXmn66iGa3CEzBnm\nwLRUaP8aAd34HaAIhdRxcBezr6gRPQoUHgkGAhdD+fd9nXlXA/qED5haRdFP\nhc1nTSljnjzJRyRxl3VrKt5EvH1nv+2V4OqkpwIsfRPbG6AYjLOumLg/8+L8\nDY4PchdnTvrSWdF+V85Fb/dKaGJ7otlUhWpZP1Q22hW1jkcEtW2+CnT+KbGI\nlfrFE8nNwPAJ2AZkS+2AA+wCY9hXZFF04HRBwHH1IqN/SS7F48a90sSmxd/t\n+9brMeehrIwCdSLwfnzmoI2MQrNDM6aj7UK7T9jqr+epVwyFRGaMKrp/j1GZ\ncsrxAOMfFaxcwokgSX8h0qecvhFsRL+gXmnyuJlQGPIULGu11gTboFGDGbuF\npaXT6/dzhGAHAmR84Q4oBb8m6Xw+GVtPZ7mPNN3PtQ+Zk85qTlPtFxaqS+Um\nC4nLZZ1lybz7kW97sDeu+d1uNHxuR617tjSk+AJC4QYfXFwvY0tR6fJiTtSf\nx87oEueUooHzR0g8qg6uk8lW0dqu3KtraxQnP408tQamA3qhmqVfYUAJWjWL\nvAJB2ue36F98S5O2FmKgx1wxIpRXzwaNSWvQTkNYU1WB3+rukYdYDYQQD6ku\nVwNG\r\n=P0KD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.15","roosterjs-editor-types":"8.0.0-beta.15"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.15_1606802056020_0.4894374023893844","host":"s3://npm-registry-packages"}},"8.0.0-beta.16":{"name":"roosterjs-editor-api","version":"8.0.0-beta.16","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.16","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4f162b53093cabca23391cb80b2cf6508844595b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.16.tgz","fileCount":309,"integrity":"sha512-RXw/BvRlkl3eB0lSpQvqO6Xo00fogq4hnpot3l+hFCn1876pkJA/wyVQXNf6ngrBFAzc1/8zGo8y9n+nLX5qGw==","signatures":[{"sig":"MEUCIGeeoQUq89dGSJL14QZuPCWwAEvilXfNeCEZXuRR4mNLAiEAqyONHgkY8ljzJkKqpH1Xe9mFxD3CaD6uHufkNn1dfaQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":385659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0rTgCRA9TVsSAnZWagAAlyAP/iHAMUkGDFX56KBO2wJ7\nAX03eD2JSrRr3A6GXfp4InnwvcBiF2In9+iQueNfOy5SUa8Vn+RZYeFRCRHq\n1F5AoGvIaobnhTf0mFq3NCJOti+r8PHkxtSzHAHEkGZ00k6PH9Ufu4JFv3P3\n4NEVfzUu1HTjm0OnayXyWY41Mi34t5ylGfogzB/DrvlM6054GDKKiLFyimrq\nEePZVElL8jY22zTQ1i5q3DXO6g+r18DgJPHNnezp00Xkuf7qeR1w4lnVkR/y\n3dwyYPuHZDRXTbOB+5oggu1v1l0+Rn2SmcZXHRbPsnnyybrYRot8oyBZYsZF\niq0CGZEkHGZFv1zMsFzAJhIa8qwvEoEe8poSorGE2Z6wssOvWpMki0pO9MbA\nwQhEJFt2lxwwrSaLXdfaNHgAUvLZEY5ibxtF9zYCC37JlbolX5cJXO5SYOrz\ndSOoGGYmL/T7TjklyoFPk1KZjkcHr6nhN5Kv2s2uS93z9X6bSrx4k/Z7Klac\n0LVzOndhTAhHfh18DFwxqPv7WCnsC2y+Ou9xYtuoZJwnJZCNtNPfmErVDkpp\nfRQAzpOSyXf9BKq2VQc6xd17gQZLjW+TTVwNFOiH40XCMrWRZwKIeR0lTk9W\n09QtInjDVPuyXleJqirJ0Ibej70G2/TidPxiW7NxblyzrqnvDVnMPJ3UgqU1\nzRMc\r\n=WBJV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.8","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.16","roosterjs-editor-types":"8.0.0-beta.16"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.16_1607644384497_0.40078282249068464","host":"s3://npm-registry-packages"}},"8.0.0-beta.17":{"name":"roosterjs-editor-api","version":"8.0.0-beta.17","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.17","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3eaa31c5c3a2d279a0a324e8ad2deb653f66cb8a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.17.tgz","fileCount":309,"integrity":"sha512-tdceAS5fTHsXDZ3a0LVpt2R9K1hBnnkU2J60+dMxgRoeJkBq3efQJ5DYR0EREh9/hOARs4vtKwZbj6dqWqeN2g==","signatures":[{"sig":"MEUCIQCVwlYYIRNVgiAZ67jgDh0wnii9zV3WxTg7ZoerdwJ62AIgMRA85MJpIuy9Nx735xv11qqVV14pwEd+OmlG1N5PUAk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":385659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9iV8CRA9TVsSAnZWagAAaYAP/2Y2UExNjmFBbFC+IGQR\nYrduiXJsgLooohTBzmLlU36F96a2wX0L6ihAmsKkKzenwdMUA5EjvSw9Sy7H\nb0mNL0w13ULNtl2BKB4wBxMU3+6ysJ4WVcHIMTzlDZZttZY0k7LBizdMktpQ\n6bwyOA5vCHuAguMZ57L/3sBO/ayKVTlDyhjtOWIvS6xQcKGJEQqgcd/Pp491\ngNrFtQAJ+P2qgOx312WC6koOpAyK1Rro1xe7eqRkHGbRFbiO2t+dS2Nvf6ie\nEl4/VS4g0uHI+i3KisNAG/iTtyzbO8Aq1STEZedLua3a6xkT+OiVDE1N1GZR\nzr5KFEYrs2Zg//X3xe2zEYKXVvZr7mYoZNzaj64Zvg75EZfMvTSUelmKmELb\njBg5tdf1tUK2SO/UtVRG0EWaoJ/ZOKR7A29cO+WOgsTgpZ9stoJ6b20IW150\nJfbLpaIx80B60v/foyTnh61rPBqTvEs0i2UvM32YqvC32yqIZjcqHXvzRqqX\nLCjlYLsuytbvNCSIcnJXfXYAf3l+/qWC+3gg0nI+t8ZTCMOVoRzu+advii71\nmCzBV/hOz+bZrRwGm/TUd5RhM2TZS3riAhU9jbzaPgVyAIV1/UAxFM/BAkSW\n4tuJdjsp7hU4svuZWIihDlgnYBrZMNrA2utT2jyDZlY2OsST8oT+HwRL8gV6\n5DUs\r\n=Y6+p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.10","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.1","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.17","roosterjs-editor-types":"8.0.0-beta.17"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.17_1609966971954_0.2002953225311157","host":"s3://npm-registry-packages"}},"8.0.0-beta.18":{"name":"roosterjs-editor-api","version":"8.0.0-beta.18","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.18","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"d937f7a4c4e71f8d369af228c714d4946bdbd53c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.18.tgz","fileCount":318,"integrity":"sha512-KA2t0h0AK+eXNxhuPCJrj70OY5jnbv0t765DMoNw5ALSeJ0Gs0EVQj9bTJm/6AlfkLi811tWwLD5iW0tKiUPQA==","signatures":[{"sig":"MEYCIQCM2KRJTJiJeCT5RMGddMTlLUUUmr1IRyVqHsj81irUagIhAP6mts0arn3Whi1/bxLbb8YmRFvQNCVNb/+TudiGM+Hu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBxm7CRA9TVsSAnZWagAAD0YP/iXpngum9QPJoRIbtCOD\ncqbTYcY8ZVz1O7TpPbn5F3KgkrTGjpZJQ7zg1ffECo+vmJXwRhinHeWePdA8\n0ohp8bEjZXnFPHoDKvBmNfarYyBhkeDI3yvpUA45XX8Z4lNgtaw7+RfJKqXo\nGtxyochKf3n1INuTkZVPRZRk2p9RsUIQv7jc9Tb/BNruBbyJFogXc5gw5Z0z\n6YNITv1he4MuOKULygkHYU5wwpwWstv8LLyVXZikibW4Aw8Nd/YgOHVemVh3\nBO1T4CJdNSbQ0D9BfYHLec3d7RfBER+aOYdPir6gGQoQJDlEXSevpZM6ZUBH\n4s0uAwpCv3Fp5LmrzONBAKuDscOEwUVxyMkDGmrzSnke+bG796jdOqP6U9EM\nINJCR18O4kAWOd5KTSCknxPUslBEwxHFbhU5GegqbVvgy221ufLddPrQlBm0\nfWsRJMkjfje9siDcBtPG7BA2hw0JEKvauzS5EPhNyPespHMVDzSBKEMwizit\nk17v47RDGRi7K/CHRupksy3heMU2BEoFgB16lrLbELY9atzS+b4VwgLkoHQ/\nLNES5FuMiZUN30k4DfXSBBDrl37l3YxkGdAfBW8s9VDiJ0UpJiAkuczFOVcF\nzjLhnbUDcUmUXfGGLSmV3n1hioqWD4Chw9rfrT/iPaNzImFc/1eo+xLGa3G2\nyOR9\r\n=nYmy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.10","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.1","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.18","roosterjs-editor-types":"8.0.0-beta.18"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.18_1611078075136_0.2813669128883909","host":"s3://npm-registry-packages"}},"8.0.0-beta.19":{"name":"roosterjs-editor-api","version":"8.0.0-beta.19","license":"MIT","_id":"roosterjs-editor-api@8.0.0-beta.19","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"01aacc17060116b5c42ddf5a9786a0c9922c8744","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0-beta.19.tgz","fileCount":318,"integrity":"sha512-VttaqS2HYmw92Aro2x3pkqs8Tn/6dGh9qhvzgOhpDHKs8GFGcvm2LOJHNxm19ST0yimbLaEwQkGABVg92vE/XQ==","signatures":[{"sig":"MEUCIBq4pBXOZ5X2oXD6W7O3zLOaXPzbVI5y3hymkNr7x+ivAiEAh3hTRtziAC0md9FRZAIw6lYQP/yvojA8tSOMqMq1YzE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDyrBCRA9TVsSAnZWagAAMbUP/39a3faCOChYaHONvsNp\nrdL93Gjho+/84T7TbSuU0r5cjtVviQgWv5IUgcHMAW1z1Dd0ogHkY6cPoWpl\nvcDY4467ZUo49wg4/THDJGzQlgm0EL7r/aArlJfLJyWiciU+UFFbqdqMa3cn\nW0SZM6WfeGYy9U0j1lMCXmxx3nuXHaxZ0Xso6sJVnZbRCG81gbr7dgFjDfgC\nQ5IcjI+jKkBx1bXJ7ixsHWmvgdeZYYqPRg69YlP2DB324/4ZeSjBiEdb9KM2\nstbM/zxfskEIEs8ivHMrAinF/s51wGZ+jFEQ44nSVFfgA2WyTsgTOmShC/ri\nQFVG08Qi+218l2LPtgxsDRCJ0JOH4gAtAlqc7uNtbw7W8Siet4lYEdbE22vA\nC/EMSdzLoqrBLWG5cpctntqTXbt+YCwhrOA5kY4l1iHny1CUeMXTY6imZ/+L\nhV1bJwy+z6qzMLzKtr/WhaSZQguewuuCFtZfhm+yR0yfDZWTcD3cU8J0bMC4\ncx0f6hJtG13dtsU5q4pSAEzUEduWdAJoIY2CcI6OCxTOWh/U5ksT0Rsoa7ZP\nqLZ4raq6T4cKA3PLuir8BpCRNEQ4tMPEPlxxEPoKQmNK1Y5Dqqn8y2r5hIaF\n1Duge5mStkTrWGemSDbJvbCAiH831Pyc/7e3cklybltzGZ93Tgng+0hrR8YY\nrpX4\r\n=q3P5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"deprecated":"this beta version is deprecated","repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"8.0.0-beta.19","roosterjs-editor-types":"8.0.0-beta.19"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0-beta.19_1611606721020_0.9364215874580255","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"roosterjs-editor-api","version":"8.0.0","license":"MIT","_id":"roosterjs-editor-api@8.0.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e4ee27db350a24d08f1cd9b29aeedf28e1269caa","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.0.tgz","fileCount":318,"integrity":"sha512-dJ141Z39vYWoH3liS3yJdCqqR4pT6+FReBa4Y+wZUddBuphdIhoMirt+7ocseNGkRQ6LQG3up/ZiM2qeAyUxvg==","signatures":[{"sig":"MEQCIFRRvfQFECitV9VS7h7W9s2kYdPV4T8ljUCCyNh9FvjMAiAZKllajuSIN761pnPjZFfGR8xeZtVhg0Phl0joZ2BdbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEdKwCRA9TVsSAnZWagAA1KwP/1SDGzTD3eB6kHz6TG59\n/0uco3PN+mfHYMEfSMIjKPwjCrFkaiK1qsIj/tQkPwFSjWmNUKMQrOrb9FWd\nPSFUtZIraUx55PxLLLRLNfmIwEpU4LUxeFNDjHjM2O1wujfdy+AnEpmJkkMw\nA59gAdUXqHjut/Cg+pBWn6rMa57jb31eaLe7drV5xnLz8ErUsk0OsVyBQBQy\nem2La/27AcdCaFAaYvHANt3vXCbohUy89meMWXbL3xC8o20GUn7k/u0QiexW\ncvTsKtccYC9a+7tJ3yIu56XkxaLQ2xKY7gzua9bMwGOc8hwPDjrqe54nh6Gs\nBbbEVeagmFyOMY6d7KvjGm7K2Lp+CA7sdJcnVBnH8RHsNsceRrqq0/ZTahVH\nRWvOI0XZH77m9TiSD5RdfjLUKSNfmOkwHg490LgflxyDpr0Oysg4bh4S8PRP\nJwCkgYBP8peCJzbGE+zHpq/76Iwt/4LSxHomHjM13kPeXXY9X0HJSs2j04hQ\noubFPOEOruRVymhvRIiqjH3w7i5uMW4TT3Km99+aQXA63HfCqeQJV8SwK6f6\ntUC4dMbHHPsX2Wu+RoAK43ae71b7mrqGQ8i1K/6QRvzcEbGlbFCN9yXmISFy\nSemYGFmw/7SKXptAjwp7T4AvwPJlArupkT84l+s1ZCwqBsOxhVt1i4o7Sbno\nGTCG\r\n=/oVQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.12.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"8.0.0","roosterjs-editor-types":"8.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.0_1611780783731_0.5598803697529044","host":"s3://npm-registry-packages"}},"8.0.1":{"name":"roosterjs-editor-api","version":"8.0.1","license":"MIT","_id":"roosterjs-editor-api@8.0.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c8d6d17ac1d96f553e8ee5f3013ea6a72275dbe0","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.0.1.tgz","fileCount":318,"integrity":"sha512-CAwjv2KWVXed7QDgZPt1NcmCQEZVePmHNMBhraXR3zm8RsmUYN5E1sGtLl8iwTdevUG2pi2JJdN7eI08fc/wag==","signatures":[{"sig":"MEUCIDG4PfzYWzPi4H2VenVs59DllWbqMxqamLSQq8TGuuDsAiEA7nHqgnJkOFr8Bc2p3bbv3AvynXWQCKEQ4Fp/FhpOqb8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLZMCCRA9TVsSAnZWagAAUcUP/3isJAKhdP3IVXFEPkXK\n1qNFsNI6j4b5gm4zQzMhtAxxWluasqre79HdynfGZSI+oebv511A/f6G/XOC\n+VPaRJjIN6MOhx34UOAJoHSShlqJmLz54VLbS6tuhyO4wL40ZFoNfysllrtp\nowPdxOQu7hfI/1U1zFWeFP4GCJHzOFww4brKi4k5N0mjpS0KZU5i7yUr5Drz\niwDAabdIgt2pcy4Q+xRt5ijTa2GHeeTEzM9BvI9FOK+VAtcpvLzuVYekMoqC\niZHFaTglfX7Pv2V0U1s+RiUjAQ6Fn/6fjXaoqwCXt7xhrYLk1bmElxkoNsEa\npjg18GKLKr5rXpq1X9IR8MNX7Q9Bdrfr63eYF/4Pg1uFzjqehi6FV/lLzsvy\nFwyVzytbYjmtQMuTN/x0YCM5cyE2xCCrV/weVyNhpyVxUpZKD1+zpSIjfMaA\n+E7MJO5HdJGURX+Xe3Jru12AZ0bLRed/gQG9x1MoAdKNexoWWnnEjS2RyIJz\nj4n0uZjZIHWOTJotm3rsZZsSRgkYBLSUL3sZDuOIisdu8mYSnz+XZ4PQbaCm\nYhLkiVW/Szi+A4594rM2QsqM9kKZFhuCvdAiOOrAgf875IiBKMi9UEwqkqay\nTHl6151T6Lv2U8fYA84Evx27M9C+6xTsxwqfa1NfLaR077euYIK6a155eO+V\n2/Bb\r\n=8AEX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.11","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.23.3","dependencies":{"roosterjs-editor-dom":"8.0.1","roosterjs-editor-types":"8.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.0.1_1613599489946_0.034087234760303176","host":"s3://npm-registry-packages"}},"8.1.0":{"name":"roosterjs-editor-api","version":"8.1.0","license":"MIT","_id":"roosterjs-editor-api@8.1.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"483eed9619b4aed91d4489cba27d63b43fce70e2","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.1.0.tgz","fileCount":318,"integrity":"sha512-fL+fZjQjL6s5o8mMp0SznvL/RKkJsIK5zkXcONH3r82CoYHhLDHlgi3RIg9CcgyR/tTi3uIsW2Rx2a3yDSc/2A==","signatures":[{"sig":"MEUCIQCfMBugwPYPXKpNzdaTxbbNUjRoci47ERp8E6tcW9xirQIge5MTzeHNN3mPfruCUuoDNzUZXZZmaSNE8GXorGMhqdg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSGLrCRA9TVsSAnZWagAAQIkQAJF9iY1Eu4In0PpdrSrm\nt7Oav09o5iQOKPC3zri6YyzV/ukrSkgbq+RrSmF7pD9jaXWZbKmsOUVWDN+2\nSEeHowi7aEg7laNW40gH1pVGlnz9C51dK11aM6fs1MSzlLLNFGBJXlNy3KUJ\nnW5viKIMCoMVFt5+U2aciDvmnL6sqwmKRJWxHE6xoIjVKEQOOx403Sr3BaMd\nF/WpHsCTIK3K1B4pMH3jttT5oVDYWVDFrt1bXknmb9dChJ+j5ZOINIGAoMtP\nosIdkPmszlSnzrKGHE7HNAeqsSOKiqfwaBWu9U3uo3EIztcoiRVqAUeP5VVb\nE35Kj40CImHRdQbgWoUk717u8RA5YtIqJtUhmPYV3MTEtHhNkcw9/vucBX13\nWAa+to6iHoXJjGRaGcd0RUgTG7shtq95385sfmsB1VU5aUGDh+qF2tF6Vod2\nQkieNbWCdeRy2PkjYaLFqFrqlgSW/653hf1Hl6fy0yufoIrZHgWEm3qlCo+K\nDLVrvJtX5QXBqWwalFEgf61QIFAF5mD8TkfNMRJaupUQKXCQjKmPbqHk0njL\nEJgUn/ocnIEHDytZ6Hf+Jc3mk62IPmijIRGUP3+cXREM/l0t2Prv9yziR5pB\nnaVl6VCNi24/u+/XhVE9JbZBopUN474le3nXZ0U2+lH8gV9dSIzh8P0loLSF\njGcS\r\n=fTKr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.11","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.0","dependencies":{"roosterjs-editor-dom":"8.1.0","roosterjs-editor-types":"8.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.1.0_1615356651221_0.23048717422670495","host":"s3://npm-registry-packages"}},"8.2.0":{"name":"roosterjs-editor-api","version":"8.2.0","license":"MIT","_id":"roosterjs-editor-api@8.2.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c225fcfbc13989321a70297a4410b8730f64572d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.0.tgz","fileCount":303,"integrity":"sha512-hqEKeLto3/WH24KMrnmFxcHM9ELIYm9GeS9dDsH1LrVVy0p/3Gao8LdeoNvbPM39tTdllZLNlWeyZREFE2AhDQ==","signatures":[{"sig":"MEQCIFZv5Z7+1VYdykaauYMvDNjKCrKwPVHun1i4gY8ZBNr/AiArquGasWFjBB+xp4jrRa/6Mg1Dqr4yjFExFNwETSjrrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfmBeCRA9TVsSAnZWagAAqzkP/1/MFidKXpnjuON5ecX/\nsaEtk2oVVtfD14BBT/bw7DuV6g/S1TiWN6V8tfM4qlYjF6sHqbtbYhabUeuK\nYahtlTQyrClaacodWjxHINIlmiUhkD20ug+D3+sB6S13GT6vzGYpqhH26XPz\ngx4oI+/ObFkNstUXcSRMwdQe5TSziJ1d41w9gMPHje0cqPUrtn9B0eWEflPE\nes1JGqwewbOoDIGLs0kA8AcogDfDj16GAQX1sdWmgzHDt6qtaFNsvQQkw9Sk\nbhfqGRUvtPN9nnMQUPB7LKxvi3KiBsM0QqSIqnMdI5dgOZ+u+4Ga+yDNsJZU\n6xLQitVkCozpaj6iOFyWntYAKTFlahMeRiCVnUtScopacpyE7+2BPS8bQuyw\nyMr+m/dZr9T2KVI4oLSsUZRQIwGBPuNPkmCI1pieIgRHZyWX26bGnGQcNn1U\nGrp8xiu16+v5mdm/TLT5N4nRWHcMxGGoJ1iWlNifPFTCkGRq4w9it7EXSDkz\n0rp9IPjSCjIJA4Hqco8Wl0Y4tSazBjOrxdUN3WVVw+eEY9DOaVlOXDSMm1wd\n+jpL5UARxKvWBI5pwdwizOUEY5yaOvxeGCY3hlmpLigGN1IsmiHyprwkIh9Y\ni0O5AZXpCEPmGvUyP2IOfIyro5GiK/4nxm8x/3EbGDY5TZYk1vYcgFDtdMAt\nM8Oz\r\n=pBvt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.0","roosterjs-editor-types":"8.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.0_1618894941867_0.817826716788953","host":"s3://npm-registry-packages"}},"8.2.1":{"name":"roosterjs-editor-api","version":"8.2.1","license":"MIT","_id":"roosterjs-editor-api@8.2.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9f84a08852bfa272092eef61e0ac7cc13d33f764","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.1.tgz","fileCount":303,"integrity":"sha512-voPZ+fTrzspNREmfp4mDHcIETHtHFJuuueR+Mg4/6gps48ZD/s4dBYsImQNcXALvyYxv4ULI0gXcj8EY77eKdA==","signatures":[{"sig":"MEUCIGZZEYj+eoznM8TXkwoNSTvx/KviX3VxDTIkKeNyxfRpAiEAw3NyW/cgb7Z/4Fd2UvmO6Y0mDHTQZUGmdFhgLp8mpRo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkihrCRA9TVsSAnZWagAAOXQP+wXcKsIgq63olCsVBoKd\nRWrY7abpn+LWUW8EMCNcvHH2AeYum6dwpFYwIDgKa9BJLMAfRJ4Hpkgml2SR\nBUQHwZsyC0F+nduTaHUVQr8xi8m4lYI/RxhAQnLJXaXSoeapfIPn6+NfeqnX\nusIEm580+0HPx4fWMGyy/SEL6AJoji6dFroZtIc4PB9tufzic9kddLyne7dM\nddRJ0pcM5lzEK+lA9NEojfrLODQSp6dN6ZGMBvFdTvAqqbhXnFB2NOd4Q5wt\nJb5avtGIzRvJrMuCmTn5tHKPhCMNZQtVkQFA8/w/htgVpv3JdwqI+i/omKOQ\n7r8p/D/mzRebTk/nNejt8NAfn6F4/crIkfMsvvVO6fC+Evs1VUgQeKl1vINn\nOgMdpkErHE6YKsPOXlKLloiS5kYtM3jDYWneGRxyvyDpQY7QvWP3HMWdYwN4\n8eiPajKGJ8iXl1DdSIlKxdRqFEyB/WdpGYf35dQ3WghcSyIayJs+7pwTa/3R\njp6QN2dsmJ04owlrY2WpTG8VCopWKRg6oszRGdzl1SDRVT3xCrhyt+QcZySg\nFDcNGiN0l/mE1u8oC4w25so/lIFklCyKgy4F8SBphRdaKOkpDQTGEqoo2bEa\nskZwArKoq197/8PhuUtaMTw7xPLnGlnqvoN6Xh9ZsFe/trp/qWiSfUpvScyd\nVINk\r\n=PTA0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.1","roosterjs-editor-types":"8.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.1_1620191339494_0.20286440839641706","host":"s3://npm-registry-packages"}},"8.2.2":{"name":"roosterjs-editor-api","version":"8.2.2","license":"MIT","_id":"roosterjs-editor-api@8.2.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9df3b735e3f39656c608a1f52a9e06e96ab3c838","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.2.tgz","fileCount":303,"integrity":"sha512-kAInF6/JVYUIJGLUEv2K5EvBCNwd+oHnR+aa8PhCtn+Jt6RLdSWV3NmgPXNQKFfK9mJAYL4wgn/VFjnpJ/SdVA==","signatures":[{"sig":"MEUCIQC2j5F0PSYMNUZSW3ap5SSCYGRAwRdWBHkqlKAi1OM+pAIgftqFyvHz0GbTCBHJLuXx+SHrKTDsoZg/8M7cILREJ8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkuaSCRA9TVsSAnZWagAAhcUP/A1qhQwkkxNhkWLu8nep\nTmA6SgLc7/9UIb9ZSjAozpbHeHF3SIIysaicin7qQRSqU5ML7Wq0bZ9qzKFq\nW68KUaaTV8U45w/Q+Bn7D/xo3FNQmBm9gCKczNGpWiOtyimcdDgffjhHLhYC\nJyGTifKe3XIiWES8EsWqDIDmiJQ0hgSbTDJXPZxqiFuMHHClfdtQCnx9DupN\nBxvYmKKGxlUrNdSfaIOfNxvV/BNr6xTfRv8N/DYelXozDsb80uI3oMo8Cpws\nMx8uH2WoFaPV4PysrybNO9E5vcPcJnLjhafm3G2PLUtW/Jo9h00yJNQX5RRu\nSTRfjSJRBY6oyMi9XSPybrUusyeIkQKedJ9noTGcNiE5TU99Id0w5fW31t8Z\nL2FreauoM05gmIlR6va76rlczLFLcwnD6bKtfzAjxsHoIsTdu65XpZmlKwc/\n29jEBNnh2TtwjHxMl5Mets4EDBj38PNzUVa0NeD3Vx2L8nAo1DH7n6x+pqEn\nxBZ1y4MBVdWypJRR4GDf67rMPUZpQd/hOtff8wKcs/wGy+on6x+rs0hO6+cm\nVGcwzhsYX/Q3TernboNpbi0joFd8rCMm+uNRBwp6oLmMIx0xjts4EQqObBE+\nIIceZu0/LEhfsd/ng0Wj92hoHIiKLc4E+I1IHU5t4XtW0EJq2k3K/6BewR3V\n5/JP\r\n=uYgp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.2","roosterjs-editor-types":"8.2.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.2_1620240017844_0.40037509217288947","host":"s3://npm-registry-packages"}},"8.2.3":{"name":"roosterjs-editor-api","version":"8.2.3","license":"MIT","_id":"roosterjs-editor-api@8.2.3","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"aef9da570db3892ff7d82c54745b21f0a340aef2","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.3.tgz","fileCount":303,"integrity":"sha512-DwNTjW97elym+Tx7APmjYdu0KZuls5xs2GaG08q+J8eIfNFPnjEaRsz07juEs31Qeubzcte9C7ssX5dXLlxJ5w==","signatures":[{"sig":"MEUCICt/IPHHk5fRc/06G1XT2WIXWo1OZFtETCxt4tO9b0pGAiEAniUt/HfzzK6btd3/0xJCfiBauXobXoeTHZCDCAfe6B8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkyZqCRA9TVsSAnZWagAA+eUP/jqNPjE63x7N9j/EP9Ob\nhwPyIOTChcq+LI07DEpKK6i/VR/Dn5U/6Wz5cBqD/nyt6lM+26aITML2la6j\n85lPcr+Ly25iCvAQyHJe2dC3cqfvIRjZ64GrmzvpH9IwTCiAaICM6Nxk/QRb\n8GfGMC7vh1uEdA1QOBNcJNDsKv8k/ImIfK3eFEaxaKSwXlwowA7jUhmIsufi\nF2HUd4KU0Am4ATPvCgJrYACmqhLpdnzTeOl0BtFsSvCDIWLq5TCkxrmprfoq\nNX+VdUnuXvTaa6yKWnOMs24fMlKv5+Xgi+1S1riig1M+mC1RuhtA4p0Ys0rh\n1t3tmXMn3mucWFYYL2sGsyGvJkM6IvbFnimWpvvDlKT8ZY2xR9xxxP4Ymrvp\n09ykYiFbvHZI1VT6/YZ1jsaWZMzhmB34W60zpQwMdG5TtBJURZ8cqMDn3+I/\n+sr6j4ZGx4EKuVbU05QVgMqBDUXpeL2Vtugu0BbE83ICV/y6oUiw/br3dR+1\nRTrrvwOY7NN4c5eVvlBEi95q1KwB9xig3NVmvYO02ITCtACmkqAK0bh0F1kg\nVG7jTW73cvb8Ex9dA3eR7us0s4cvkh+B+K8CKYGMh7UYfurmQpEwWACg5vGK\nysJ/jBtUzTVNSpYfxX7mnjNineQJcvO9PUWAXL6pQGlCW6rkm+AHevKXukDL\ntR1r\r\n=Cmwj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"7.10.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"8.2.3","roosterjs-editor-types":"8.2.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.3_1620256362182_0.16141757031958126","host":"s3://npm-registry-packages"}},"8.2.4":{"name":"roosterjs-editor-api","version":"8.2.4","license":"MIT","_id":"roosterjs-editor-api@8.2.4","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e2fe3f24482a9a8d76bb32986a02b2b511cdf613","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.4.tgz","fileCount":303,"integrity":"sha512-9Re9bB1bml7xAr9jwS4p898/Um1L6vy1/uIATedzTniT8YwpeKWQ+gjFVrpfpYfTbe53/Raxa7JAGTh4LQhc0A==","signatures":[{"sig":"MEYCIQD/cDbo4BXTbi2OWjCBXw8tCRuehxh8TZDYKOgAt7KF7AIhAMIAMY8Y8CmPGV3b1VZQzwSr0fSToh4LWSYNcsSxWyAI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglf+6CRA9TVsSAnZWagAAcXYP/3UrTVuqwHzfAAlHBsja\nbScPezDD8CesdPgyD/XHhiIYlW1A4R7aRqlt6RXW17IErlMl3bdjvSkfUjJA\nhZTC6YyntwP7wdIkMziHST9knBG4QF7nvbAnhoLu7XqBhoA/xg140V+PLcqr\nUDdlUIJa32GpdA7kWE596iU04hWjq1TJKCd/k+A/bUJu4kQDjtks7M18vWZC\na9G7YMtKhfJPaec45jdoVzcA4GpyNJxCPl/pWPzVmSz8ss/yGAIVGYhouKcA\nUTu9pQKAyRMSXo6o+I0i4t9GDAwc4dDzCOF4pgxjYe0An6EpjK7b6pBMIxZW\nAlCOlOhXABpNjv2FKmNeo5MVevEQdv8yoFR095AxfowcZpqns67jNAlnPQka\n+NuLXtc7kReVgkaX+o4r/GTPwSBkJIV4ow5q2Q6uKcwysEP0hxGIeadAsDY1\nl5tblCfVqh1BlXCEuUDwryOc4tXN6hwDwzaRAsXZ9knL9KJaGWGtNqKC7dVD\nbNJoF6g15TFqbHpysfv7vUXdTX9LeUXluHgTLkBjG8KLQJzWem4yK4Kckk3g\n4yqzm4NjQ7p4ei/GrLStpn2dXyGruEbcGfMY3Ru4A3lY0DZTH5Uc74bl2WzJ\nuTO/RxXJ8r0v+SRt6j2+w6D1zkf2sZSZpv2OB4XAa9JfZjna4opaQUfVY6ZP\nJu0e\r\n=urFu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.4","roosterjs-editor-types":"8.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.4_1620443066046_0.359418240475035","host":"s3://npm-registry-packages"}},"8.2.5":{"name":"roosterjs-editor-api","version":"8.2.5","license":"MIT","_id":"roosterjs-editor-api@8.2.5","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4cbe3f5195d4ad5bc7b9af1d1dd5becd8455925f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.5.tgz","fileCount":303,"integrity":"sha512-1ogzVFsBvlEN3BxU4CK8NTIJ1bfAmF3GkuHz2UWpefNU4aAoryful56qbnB2nquL4Dwce7AhN88G/gT9j2u3tQ==","signatures":[{"sig":"MEQCIFMTXuq5o0ka/HL5kQvrckZzaZtuznXnvmqPiriUpeVhAiAtJ72Y1i9vHJpFdNAb3iupxvjuUNYrKZEigho/VN6HCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnDVNCRA9TVsSAnZWagAANQoP/RDfURGYMuvNaAtg0VKg\nzFyxoebPg9zTNfGUcXEWkQnJgM+fc4YMEWhhU+eO98AEIg3MaMuhzUZPVWgu\nHXDwCxkDDsdGw7RaMVFkn4k9ecG7r/pI0PYjo22BQodXUlh3MsqkFisAXa2G\n6ymnH+bG3qot/VVU3CrSS4yXFyA1YSXAjlh89mDsLSeqIwqtz2hLTXqTcMg7\ngaI1A/wAfZJCzweRvAoWWdRyIGoEDFhHpCpuWC+0QovTkOOr/0dwGd+UxBJ2\nZEC5bPGzxVdwsyMtnBKLScEK/u+Lqdna0DKINATmTd5PBp7BAZuhWP+/3tW/\nvTjWNZggLCbcoociDoQQyJ/Coj7xvT6ysRmM6fvfTiytvqmLXefrRhcXITta\nE1I8z1TBvYJcrQ97H6WR1M024LyfM0DdAiWlR+BjwmKlpFbCqC6MqIQCZM8Y\nk/nBa/1zMJOt/pkREYh1atZoTioAGnP5GCeEBP/nrjzK1IkaywiER14X6Cwa\nufqYu5Iq1nO7piYDYa79LlrDFlIWYXWJkM8Ta20AomUYnedw0KFWcm0GbtAf\nnUZHvVtksjMl26yTUDhd4UXfhfmzj8Cv2v3Jg0+hOj2QYmXvriD2Y666zdCW\nYJJO+3KgDpp9YBzdp1OpYKSbCm1T74ugTQ3An3Dn8hTae7fl1a99WkrkMRSv\nXoOx\r\n=IqgG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.5","roosterjs-editor-types":"8.2.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.5_1620849997070_0.22707133734481677","host":"s3://npm-registry-packages"}},"8.2.6":{"name":"roosterjs-editor-api","version":"8.2.6","license":"MIT","_id":"roosterjs-editor-api@8.2.6","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ff1cccb12d66a8294e5d37750c744a6537747e6a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.6.tgz","fileCount":303,"integrity":"sha512-MQLfP0FC6ojGDUz3kB2Wnj3htQcqIEeQAgaKk8lO/EtSz8SwxuWi6z1WLIUJyisQOeLzZ5mNbCyXiTl0oPRoyw==","signatures":[{"sig":"MEUCIQDtLkJRMqPPtLPULjcz3EoLXnIObODyAyo0RQMnNZmIfwIgNLzHnviUlo0AzDDsWG89AOwnJ0HC3rhjvkjiPH32Kj8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnE5iCRA9TVsSAnZWagAA1tkP/1qUSOzKje3I0z9eFAMv\nO3dvQg+b+f+oILDZYJwE8ccz4DR74JTSiFyiUJhCI1GzO6yxpB9mtq+A4sj7\nFqtvyEnubI6PjDidFW7QMgcRHcXJHxNq95Kub77BNQF2NghnXTQza9K/3TSs\nTZ/RO1DlGZHoIJRflIKPqSWZA+4m1Lu6TuRFnOcLAICZEMeuYJBqJPdoGHq+\n6JcXZAUaRQzot0OAIPaHktiQuhl03bMp4aLu8GD7eWr78K2l43jdbxUDseq3\nCTs/cfYcQKTYSAdfNCfjroO1XXZ38gBC9/JrtmuXOnbevfdhFtuB4kKGbTVu\nn5JZ9ANX60U+S3PbZ8ktLoJ8eETHKNxNzYTZJr6s1H9dMNx4DqIkD+9MWKot\nATvwuqBdj+/VbDLVW9kjxIx3qYAWYy7yW/FyhcvpDFFhxh6oH3+nScC/1/fm\nc4CzM9kk9LtwdGwhweYx68Uaidm49Fw/cWwlnPgqaVEqREvqmELJLOjZDPlS\n86AhB8Z7307tRB5C8UhbTPNe94pNYIt5eQ4N8CeHkgq/Waubsi3CRW3eFUgg\nuN6mXRcARvrk/tuNii7L3rQvB2PuVxgrvRhIPRI6HTWCfsvqDDdi6pcU6dRz\nOM1tRLKxJZjtU7x2wQUkdmXJnxzBVZjoxq0FNkEkMkjRWpHTNoqRHVirZUKt\nivZo\r\n=LTlZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"7.10.0","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"12.13.0","dependencies":{"roosterjs-editor-dom":"8.2.6","roosterjs-editor-types":"8.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.6_1620856418096_0.03531771851859533","host":"s3://npm-registry-packages"}},"8.2.5-dark.0":{"name":"roosterjs-editor-api","version":"8.2.5-dark.0","license":"MIT","_id":"roosterjs-editor-api@8.2.5-dark.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"43778f8fad324b1ae173f96dcd8dca338a44cd04","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.5-dark.0.tgz","fileCount":309,"integrity":"sha512-XfLTVE1LrhdjjK6LVHuk8N7fSzNSj9bPH9TbUvZdi9rVnndE+WwOHVKM4KW/1Ik5EoBq13pbbIoIBnuAY5htpQ==","signatures":[{"sig":"MEUCIAgxZsOhOGECwaEBHEB9p+P/KQK6I8MDxDGJ7XFXFbFpAiEAtTg5LGI0p5JkNC8bQOLec3d6vwMH+vZ1sK5zi3grUfU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnGxhCRA9TVsSAnZWagAAPuEP/2Ay+WA1HfnZCkUZsHPy\nqWr8h375Y1U5cj7uLwRHeODuPJwy3CyfQPgoouaN8xli+FcG8dIJkEaA3zgu\nu8zsV5edmVPRbzvTlXEiBK0pe3Rk7sFP4nCFOTHbR4uY4iBoawXlK3lTqXMx\nvNTnfDnLAuxFeHgCjcuiWgkj2xNPw7Au9/Ot4cucglAsRCw0Okr+GMyUScFT\natzstt9AjlLUKagRXBnU8j9jdRPhRSo7xaw/X85ONY4ie9GqunKJQg0CLO0C\nglxELK980DvJB1U69E5ETIxgRU076n7YLnjqdhwQ3Wu6KQHqX85KJX/jewyp\nL9tSe7GcKFbBX/bjUXJ0ops9VR548prF2Pyap1MylZe8KyIYd18AVrWIwNnu\n2mzkvY+UvHvrtgQBU8fZbFLyizISgx+p0WpJsdfZDS2ZDt1l8CYSAgGpKtRt\ngNiVPXh4HZi2tkVAvogz6rdVA3JYuY9uNLsXo/2PpfNM8W1i/VRKAiA+lglQ\noAJkOCOaWGUce93VE8FSDVCTrYCQ1tIuvq8sgfSVWdKookkpGj/zz3QtyFSZ\nWHVbhMRVSHtzZCtUtwnLKzGorxkfDCUputMuMX58mM25Rg0QGKY2UHDeRcCX\nUm8rHgwyBQ6jtG9QzKqOtHWjVb3DtBD9UIkIMPGa7bJRrab6jxouXN9oWrOG\nB08b\r\n=9WLV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.5-dark.0","roosterjs-editor-types":"8.2.5-dark.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.5-dark.0_1620864096590_0.5495621963230708","host":"s3://npm-registry-packages"}},"8.2.5-dark.1":{"name":"roosterjs-editor-api","version":"8.2.5-dark.1","license":"MIT","_id":"roosterjs-editor-api@8.2.5-dark.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"174fbcde76ac355def12e65c262891838dc1165c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.5-dark.1.tgz","fileCount":309,"integrity":"sha512-ufftWOYaDUJQ108vcLHMDsazLJ7ZfVMkXu0Kt8xQBb4teC6QYCS72p6ExlBBqvzkvu5VUTM5LmuIl9/3x2BB2w==","signatures":[{"sig":"MEUCIGmOWxbSIjBSVsWMcP4Qg6jyoweHF5QkKc6C42XW42gFAiEA4iV2hASht56HVHtQrBZoGbttqCqJaHqyxqH9n4u6L4Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnYPSCRA9TVsSAnZWagAAKVoQAJfkobsIn/EmIpTf1ibz\nxH4SWNAvIavQkF91O115Tx7g/YMDfvIX/t+Ks9wr2P1FmsWabXq+4GKTXJWu\ntcMO+eapecMOqItflOa2GB/N73M1uITZrmFi3V4CQzEEnqYBXku6rJbLvtqr\nqN8MOhwrkcFmw/5ynhCEEssGudn4ppuZPWKOqTmaroc03pdrKVCg4tvQ1aDb\n4GCAjK1CEphnkMWbVgHvZjsK6mSl69jnRKnXk9DqLKA9kMh3nGHmXvXu89NV\notLp+LX32iHREm49lsc4mSNhBlN2NEeYV1oeXnGw+LYZ9B6mVYKRNJfAemUt\n6lVFm5Cex6Y5JaksawgeQ5vk0bbNA0jTkaiP+SjZRDFipxaAx+1lLIFLMe74\nUldWF69bIYad8IsYkBi4PfPfYF7FE/H+Ewoq6i4zcTrtSkdqcXHuf1JyzxYD\n/WmZZTr0YJC3oTMc+Q9F06VwNbolI/EYAtli9NMWAuCUPhfJn/bxbfo9SLSR\nOZSZq/GxN91r3hs5gQ5Mm6INWkn2S1n9Aag2kFyuCusT1/LnZSqQriHHxJ/U\n1+IoppKz/fdfpEkfTj7CpxDlHENl2wzqrY87PqgqT43sjwQI8oSnS+B/wzmw\n0aRmWSAIIAK6ZSkvUK+yqCRAmT7bMmqtOu5T7HPooamuaE9ZfvLfT76+8F1F\no0dP\r\n=ZmNx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.5-dark.1","roosterjs-editor-types":"8.2.5-dark.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.5-dark.1_1620935633662_0.03391356788596678","host":"s3://npm-registry-packages"}},"8.2.5-dark.2":{"name":"roosterjs-editor-api","version":"8.2.5-dark.2","license":"MIT","_id":"roosterjs-editor-api@8.2.5-dark.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0bdd353322200bccc09e81d5ab5e252fc851610c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.5-dark.2.tgz","fileCount":309,"integrity":"sha512-3GjOcDxJQegRQWdX16kM2K+ytQg1nq7j/Amih6JIU5kOLsnxXsQ1K48OX1KqVLzN6cQ89jYdmI4EmVLRc/q2Bg==","signatures":[{"sig":"MEQCIG8tAWRzOs6Ih0QI2E0ZgdBnbSt2XRe6rxqhPKqKuXIAAiAqamNyrEPlG2b2OeuZEPbcbvWomaenz3VhYkLyK5rTJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgngLeCRA9TVsSAnZWagAArrcP/AlRA5QGY5l2HhW7J9VI\n/BgLpAUniAd8nK0PeylkWhxYvxUShHdmNct+wQYpA4lpPXypOSBeZQoBXzxK\nid2XcyWK8Ufiqf7Uuvt3uOenUKB7fA/3xkyqec3x9xdh23M29dAyAh3vdyMv\n/4KI5qMoWmgpNns9wEp3aORjb9mRovgDsc9t7U30zC+uoc3wAuRPuBqD4gwY\n349ZrpTu88uO6bytFnc3nWu98sbXmSamok0hK4De4dnEi8OXFFDl1J+tWSSq\nVznGZ9wTlRvJRsUrj+crjetbUbOo5D+Mv3N8Oy3f+f6niC3rkF66RGJEoad5\njc0uXylzs7HQUIKOyOK9DrKk1lxetv13InZDHfRlqzKcrWDGT2PMp/v+MLuR\nF/KbzeesxGEQdwMElHRf5/Cp4fWjeJsRH1sc8vShle01t7s7lAlkm1XoUFRT\nz2xxGTPm0UYukVQpm5B7X9UXGrVDGMWSicvTUFUZc+Drufw3tOZCxdWN5UNP\naRETxcahNqxGULkj4ZKuDq+ziYzLK4A7ZHISm1hoKeVeQod4XPm0BQY7GkvN\nt95x4DzfucdwyyJFxW0+5XgXQrioxHBzuce3lBoQm/bfrM9HUmdEF3WCmgVf\nBo95b0QXbGS1ZNawNwivltJ0VrrAF1iOrogIiA2o5yfy4sidP4CQe1xRnLmq\nyKoi\r\n=fbwx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.5-dark.2","roosterjs-editor-types":"8.2.5-dark.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.5-dark.2_1620968157698_0.2879448762534589","host":"s3://npm-registry-packages"}},"8.2.5-dark.3":{"name":"roosterjs-editor-api","version":"8.2.5-dark.3","license":"MIT","_id":"roosterjs-editor-api@8.2.5-dark.3","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ddcf8e014d95106504be794322c9292c7db3b3b3","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.5-dark.3.tgz","fileCount":303,"integrity":"sha512-uQ4Q0xHGQbxz2p7nNNJIfKQhxh+gJ6+Ia+qJZm43QLEJDEyN/wNrSHnQKF+mwStbzjdycxSw9S1+FKP55VlUDA==","signatures":[{"sig":"MEQCIC5Dt98YuDzYv92YThUV7AgjAcOCbwi/CbQTEEHtwT58AiAKO7qjCn4NXD8q1y2YO/+4494Up6raU5n9xUiEPwzTHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnuvkCRA9TVsSAnZWagAABXEP/3FizUa5EMTxuvmbF9JZ\nm/fNSw7tUhDXaO3KcWS0Lt5W50/GRYyxyEWVUdY/6S5rQhwOYOU82twEtKok\nFL4U/JNi0KDORsxYko6KXWxQc1CVXiKQRrDxgtjx4LFajPt0f/O3WDoCkvpe\nqV1wr1IjIX0zQz+9TgQGw0Z7mmD2j3Mrr826nihob/lf4DnkTxTebbKzMTKH\nSiDpOuim0/4VKokVcEY6HPwGFJe/j7PFt75fuJHo6GJvC9CE5FypaBw7xuna\nY3ikKzoGn3EnEJG7VoFB21VTv83by00r9ShXZea0wd8HZ8EjC8QfRfymFePW\n6i1acF9EFON5ACOyU/Y0Si7bsGDc38wWN2MRHDGA1p4UGz+UljN973mKk6mu\ntNNJONwhmHlyQ9AcN5xGV0G5we+NOHu4/rnuftEqgCiB5LPrbkh66Ojdl/xP\n4k6SrSHqdg796CiXRxO48lz0FzGly0PlW71QcbDigZU5ud6uO5xFeSp5m5eD\ntIbuB250bHuz0sHpwEsS/mTWpaMv+kZNyH6Vy9YivK9CJE+K1qfK9qsaqgq6\nmmX82GCdrf5rX50obLHwuJjNxqa87kHob2kYq4XQIG8I5PwMZgjTtrNT2hFD\n/pgGrQGa5abLPHXiJCM7iz7Bpy+WEolx6lyXbz7lqqXu9B0ZwzPTaMoJCUDB\npVKk\r\n=nIHj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://api.travis-ci.org/microsoft/roosterjs.svg?branch=master)](https://www.travis-ci.org/microsoft/roosterjs)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `fromHtml()`, `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n3. Navigate to the sample editor at http://localhost:3000/\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.5-dark.3","roosterjs-editor-types":"8.2.5-dark.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.5-dark.3_1621027812076_0.5479558137488973","host":"s3://npm-registry-packages"}},"8.2.7":{"name":"roosterjs-editor-api","version":"8.2.7","license":"MIT","_id":"roosterjs-editor-api@8.2.7","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ace0c625abaabe75526b5b5c894d1ef69bb1bea4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.7.tgz","fileCount":303,"integrity":"sha512-vs5fbgEHvq8s0Mw7ZyeEUOhnLVKZB62ilM4NONEPF+5JXrYK+75/6iSJmUJMA7GTM64sWpAAPG5J1QMY1/YmTQ==","signatures":[{"sig":"MEUCIBzf+ol+QCdWseT3qXHVzn49bjEPi6J6KTkga1F/YT81AiEAy9G8ZvW/9jLe8AkV4G8S91UBrtCyvymivhoDMMXmvHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp+u4CRA9TVsSAnZWagAAiVYP/2OrEDUeD1J7qUplFjDS\nMD3ugLrgDG2d+nwKu1qRxE4bBz9PV3NWCBL7WW9RuoFGAM69D+WJ9uc38mxX\nqVXsPrAzS6M1qZWW39L74jOlrjFnjy3Qa4k6mlI9mfzdjf5S9MXd/jg0dUVn\nwk3VnsJSezB1J2hb/TwEXWn7K1Xdw7F2xdtOGFVQJH4LVHi8Y4erHGdeL3/t\nEDsmnq3knEx6iJ3Vx2BwAVcgn0fcISnsDqVM0sh0KVEoLN5mJDqdqIAZyPq3\neRrB9oQDJTgyd9h9thZ0EGfzHNBae/iGcXwcQYKm5TLRTptE9QAf+HeVbe0a\ndZdB433M8mEjD/9EbPZFElZ3Pf6BcfqTpTlGfzfsBLbWK4+nV3tgCRbKhCle\nbCjVdDHy3HjNjalrs7FobpdCpzIuFv13fvJUye+cyr4oPEWYwHdPWnNHU2qQ\nZ4LQzQ6rL6Fu7apL9HhOD+BhNmVWljBarbiRn5RipwfyK7i0pGmU/qrmPTtp\nq82Zvrw0V9xEloCxCNfp4ceS+U8ynhiyk+WyeAvqo3/ZdN8d+ooavE3FMwrk\nCVsl07zfVU5pnL8nE3oMUy7AZPJfNqQNEFIN9GDk/8Npu6Jk7X2+TxVS/WJx\nGIaFXNymPFuE0BJCAbHubc2WEmg690W+1dwiYrYNg822R3CGc0FNE3tOT9f3\npEZq\r\n=r7st\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.7","roosterjs-editor-types":"8.2.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.7_1621617591856_0.7943890416918682","host":"s3://npm-registry-packages"}},"8.2.8":{"name":"roosterjs-editor-api","version":"8.2.8","license":"MIT","_id":"roosterjs-editor-api@8.2.8","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4c7de0bd43525e57f1f3d7de038ea64a6726ca3d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.2.8.tgz","fileCount":303,"integrity":"sha512-gCo+04hwNwiYzNnOLDeqsgXtxn8Mq0EiCbbtB39x1GLSBNzKpRxXKkzgNKIYkunhWwW1HUdyXVelO6HRtFoQ4Q==","signatures":[{"sig":"MEYCIQC4ks527SX3q9mV5e1m9A6lB2uHxjBy60tJ0kgcCCrWUgIhAKzZJO5SWM0D9PyF0/TgPzayGuLaoR6gVNmYxLqnVBHS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq/RTCRA9TVsSAnZWagAA9ykP/jc4jmJ//YF3lTHUPPZ5\noOzcGRkPQ0dauuWF0WxJndloWo6fmKLJIClqoIzz6d2FGAQ8QSbcHfcqGDyy\n40h71yyAaXRxRUDEHmrfuHKl8k2Mfq2J9Aw7SRlkU8/HxhYAL6vU8bRWuvNl\nzbEht5MRRP6BhMRz5ZgmFBl99YzA/wxy1qSZqfq//Q79JlWMyDMZukEiucJr\n3xTIgiFlnK2FYO5oHDATs5+xSi4Kuic+mF/3XmL0p6T8vvZiCbeyeIxIfGDL\n5fApgp31Bpgkp2b0L3arFK38WFRg8uNNbaa86B2n16N2tKG0Dok8+HDeTTlE\nts95CA9AKqDd7JTf2d4WhEV3hoR8Cj9CGhKviabIfjtq1qj2LFabBU85+h38\ndH7xRXFifNI5/sUwv4TTq4z7hglrc1ZLF/LiSxbTCb/3GBiz+ijt098deZoV\n/FdiFShhpBlXTLjFaMUsytQ6BBaasIk9C+A59xX9la7ZiHY4JR3zvkNtWxwX\nnkcIztaG6ZKpz67RpSnaCwbk/q3Zy8PVpElj42rKe3SUZYNX4sP/cmCvxcer\nDpt241FtEPZe5/1Q7boJKWTBy2pOE3DnzgOFQ348GtBgBgY+GuL8HVm8Rlg0\nWON29fL8KpOm5PPANvc32p4H++tStNLRPqfZKcdeU82Y6rX75hS67Tw+XCIG\n81mE\r\n=GY3O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.2.8","roosterjs-editor-types":"8.2.8"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.2.8_1621881938980_0.45837375171119876","host":"s3://npm-registry-packages"}},"8.3.0":{"name":"roosterjs-editor-api","version":"8.3.0","license":"MIT","_id":"roosterjs-editor-api@8.3.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"89fb331eae9014c84ccf15f1495f54c61cdb8969","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.3.0.tgz","fileCount":303,"integrity":"sha512-YMz4/u4JEZ1QRd6DBOOM5Z5k6UC+bpparVlsumQMXW5sVYRv8rDmRESm9trWR4/CLnFpb8Ls7xxbdKMkXObzAg==","signatures":[{"sig":"MEYCIQDEJlg3FztYQ6eUNsBneaLs7TDjb+mUVQeJMGDhjqJy5wIhALEVpv3lL3xn66gy5gVcMQiNNtG/m3Caz+quYCwvjRxs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwoKmCRA9TVsSAnZWagAAoBMP/jIrbNZm2wzvPiRcNKOH\ntl4Q9+Ua698NZg+U1oYir1+FFfYwljbXUwlR7XnjestANAgofT3X0WoV0Ohl\nd52nkEjRHxukDJ9fS1KqkLAB2QZYgvuUe0WKEZDqR9tx89raQuE0yYB2SPa6\ncgn7ToOrnth8oHg72wi1h60w5FhO67lEyuocBFDD9cqbxEGtyGH+iEppfK6W\n+8u/QY6iEEfbpf0019DVOz7y0aOSNXI8bNpO5TkdEziAdn6gathBTjrXqe5f\nKHMO4aiue61TPOi3uxI4hOJbtodOrCl4q83KoHiYfMwCpkUBxSBBUJb8dzFn\n+KMRE2YMWoWucgO8vRmRkhwl38Kf+KSSRclazjIB6d+izbSLM2bmwkIcORcn\nSF72VgKZ5bXE/8lrti7GATI/kJ2CTDdXLAS6o2bF2Nids9idsuY2mka0yHQ9\nHBdX3zjft8Jh108+zIfYP8bVkb8DxfPKcKXZR1kUW4Zrg0hyLXDahd1KniWP\n5reBxrd7pKzO6jGH8mKRNvCzWdTuQisPISCUH8igXfbaY0bFSnC+NfIh6cn3\nudjZtdm2yuArSWbvxmLzyPqINd8MdRA9A0S8QVZXfEi4DkHYdFXbM45YBb6h\nOk7SuReSTXXMHt7T6K7U2M5gz4qli+2b8IfY28l+f4MbSRih8YLtA71x7QDQ\nGf62\r\n=f1ug\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.3.0","roosterjs-editor-types":"8.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.3.0_1623360166769_0.7047061960020895","host":"s3://npm-registry-packages"}},"8.4.0":{"name":"roosterjs-editor-api","version":"8.4.0","license":"MIT","_id":"roosterjs-editor-api@8.4.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f665c5a97926ad1800c9ac4671d22789dee14647","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.4.0.tgz","fileCount":303,"integrity":"sha512-qaQY8fMktRn6tHRTcBE59XA4E5Q53pKxUo38BiIBsXRCeSkRnq6t+EduHWK9hCk4Npg4nN5pM3f5Y9yvEz7WMQ==","signatures":[{"sig":"MEQCIEwgPVZUem9xqnPnIdZEesvGgQECmUhYBjn2m78GR/2UAiBCu7Z/mdQD97IxU6SdRLQf0rMftci2bBjRcyVZHzUuvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0SQHCRA9TVsSAnZWagAAjv0QAJnlpD8Wd08u+12PKbnJ\nn2gmYO4D162SanBsc6y1it9YM3ijHU8JpwFeV3h5BXUDhZYnrdNKr2qCUDnq\nEZGiKo2pnEIyZtpS1yeY12aIVH5H5OElDq9VhF79liqbyOg+RhNJrQWbfF9t\n6KaD7+h5mbql3dg4waIeq4bLeafEk5IN0MJpc3B040yWP/sRgBZw/iIKjkFA\nKh7EyW5+OOgNkeXlWVASYQi/YTnyAWk5sPaWdaOfOGB9O1lvl1bmz2ljcRK6\nTvrqr0YJgQLn+7V47QRRVtgTLtd0w4hK3i+4ZQifE68TbYIwIgRZ1yvd5S3U\nRuZiMsZlE8CCNJ0k6MeYcfyo7UaRrV9SMvQ12D/CHeGB+yWNkmE/dwYzs/S+\nATEYNWP6j/tWUjEJQpH76sMIAuBb8AGTZlD1GBgjOVyyI1UrbALAoaT94lQF\nCdSDqwh75i0FQnIpjeEGdEonyve0Du6INXKYusg9eLQMIQaLj2ubjBGg6yfo\nOidcCbjoa0Wr4GKYyImLQeEH0Z0fVLoeDw2pjFDEkOHAU2+aWMbByJK0yeSD\nXdZC+j5l7PuorOQoxpK7/sMtvKEnDSQzfFaQx2SW65n3N1eaxfwlx6lQoSZ2\njon7GrAvntBc+ZcEL8k0GhWwyPYw+b3yXe93FvWJUFC8PddY87gbt6DZTog9\n+W+f\r\n=BVuM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.4.0","roosterjs-editor-types":"8.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.4.0_1624318982975_0.2945208664781045","host":"s3://npm-registry-packages"}},"8.5.0":{"name":"roosterjs-editor-api","version":"8.5.0","license":"MIT","_id":"roosterjs-editor-api@8.5.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7f4b495a26647c047f2c80790ce8ac74276ce281","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.5.0.tgz","fileCount":303,"integrity":"sha512-qKDdQNpSN4FDwDTpixtYq0IqzJ/QKyQnD3ZBhWIhmkIXii52VsOatk9DHMXMc3NN6TBcEiDHNsGI4rVHQ8TQkQ==","signatures":[{"sig":"MEQCIEiZusLMrzM550pbiWwTWINi1nCB66PdMmBSwnNeGs0cAiBTjX4j3e2kupzEV/VdhmUsvKR7b4HrVPIqpubnPu4Z9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5f4qCRA9TVsSAnZWagAArAAQAIFgqwi3Yk41RIOUSVpM\nTC1UgJS1XLMU49zMD/o82uMlHY4VvPMOaVYzD1GcHHQbbdZw04PANlt+4VyO\nWwETjHA7JRJpduyLtmFFYx22sBHb0oz6GhRgi7B0p1ySGxvKUgPB8uXFaCDG\n1MZ2nic4JAE3OEW4rWz0UR9oZfsxUb4BIlh91S8XDeExefoWp1/Ovi1eYrSI\nNx5zqYdWGdh7CsKaVa9DjCWsxna0ddkfU9j8SQO3WfkgibqD7qFuWpPEB7Go\nc/PYO5RRNSICt+IZyEk5Ver1b/af5UeYJAYDyJnmlQI6GQowPfkeJ0KYOsjT\nzKC+BjY1gfomvyzT0xqothWhbbOBvMgVKqdsCl67FKBn8d+1hqBu6UhEQCrb\nI2E/t6Uwc40oxkCyPCzIEXWN4GNqZH7yoBDZlZ6F94NTNgtHbOHNcJ4gAQ5r\njIufK4zKtV/13M0hfJ7ga2vYu1OjehgyIMBYIltG7yjUuReIfqF8N0dWGiFW\n/yj1rEe/1D0EAD4jwL0ngc7Ni4kP0mhdJAZZf+BH4W4M7q6BLS37eBUObxdl\n4fnB43C55kAzx/TFnO62LIMwv4dc8qKnjbO0Gs7EfImc4e6eEHZ6y0rebGoP\nOwosItdjzWspt22e+F+2r3ywOWocjARG6+ClDbg9MxAP24B436rohodcqvvC\nbP/A\r\n=3cvG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.5.0","roosterjs-editor-types":"8.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.5.0_1625685546441_0.46997784883849003","host":"s3://npm-registry-packages"}},"8.6.0":{"name":"roosterjs-editor-api","version":"8.6.0","license":"MIT","_id":"roosterjs-editor-api@8.6.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"266e79b015eacbcdb4bb5eab1a297dab7c0f1a71","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.6.0.tgz","fileCount":303,"integrity":"sha512-pD4DNOtXUd/yQpgkDXnVcbpJ9TXanE+tH4mqn/6D3lbteP/SZV7m/XIeqUvg3GqdNaTIGK5MvKLpOxi64zXTNA==","signatures":[{"sig":"MEQCIBMJsTES1CGMGCD/OvXMWzcEgawnHnkkYnlvwRS+yxMWAiBUCgr6fWhhdNJIMlWJke+sgI+cTo/X7roTyML6Z/wzSw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8JyfCRA9TVsSAnZWagAADNgP/0kawWev/PgGlvcM6vHz\nEc+OdQbGhb7z9P6uhWWH3mjQBd/ljPmD9i8dtP5OagP/qM9JFTdt2R6mj1Lw\nLUgX/UQrqSZqjNjn3kcmudZ6lnYUUj8Zz7rXe9DL9MdyRTafFqDoGXvhivz3\nnHseG8yhKPbdSrlIL/zWrnMlgkTC7BDRUk+RSmN65yjC5fv8pEIxZy7fCdMd\nj31Th74DlZFq3Zb26M/xisBXn0CtlfRFbuCibtRI8b2UJAm8kmGxFjLq+M62\ng6fBT/9M91hPtf2wsdQ4Ij5C/0qDrpV7RABUILB27ZXmfIwgG1H5dP1GOUov\nntUt3eMSlJtGdnO0EOJm+sQXuj/bYINLV/bl9lIk5dBR6GxUvxd80tQMwW8S\n23zfU+CdV/anYxzwSTshDFoWjhiDNbZSZ8GRGapE2q14pGhpwTC/6lXa730p\niJtMymKSk65f4/NjMf+XlujM7olOtynaqGXNKGIS+ZB/VtocHmepIfBDinUQ\n3flVjUGOq6nbzTDKtOCEm41rCE/rxrkiHnaUQhL2kIapfXZlw8KMvxQrCONu\nERJ3mxffRjrmNNA1mlWWdbcnB3yhoLgTpLQtXDreHN/zgDJ0TDLzmDz+Pkv5\n/958dSZZiKLTrF3bqVaKHZ93LqWx3K5apBtTGOorTn8fJw+HDbxeMI0bHe71\nYBju\r\n=5xq1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.6.0","roosterjs-editor-types":"8.6.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.6.0_1626381471479_0.4466468776600816","host":"s3://npm-registry-packages"}},"8.6.1":{"name":"roosterjs-editor-api","version":"8.6.1","license":"MIT","_id":"roosterjs-editor-api@8.6.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a039b6a9babd6bccc5b00627df55ec6c01469e81","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.6.1.tgz","fileCount":303,"integrity":"sha512-DZEcIRz+DVBrjJ6sG2REgdQdi/cx9gWfvZ9cu2QOksHzR2rccODNoot9G891lV8qay3bWAdQZG2AzSle04GjsQ==","signatures":[{"sig":"MEUCIAEAZ3FjmujBsUTId2e2jPk0jcJlC9AcXTNK8Vb3FY+1AiEA/+hZ0yme47oBmfLQYE4PRobAOJRTxz62gMLa+xsnBFs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9ef4CRA9TVsSAnZWagAATkEP/3qCVnysYdRHZD/9tySc\nDJ2S81T539EpDX8PjMrfTO7l/tbp8BobsjvElv/vNRh5HtVf0oP1y7I/LGT1\nW0VU7r9WRYuj48fsLu4Ns8H1Br+u/T0QsQmA3r8anH/kJ9KNTBxxLp6whLZy\n97gyG/ZNFC81ewtnunuOSmnXBdPvw26aJooW8QRYAUI0quotFoVOYmfs+mpH\no+GhHtQlkOfJR45NgxyT2XUsPvY3jn5bP0IQSbJ9W9iLFb540QMHtpSsIZ8E\nNAR8tNkhwppHwvEVIrEzV7kAggtim3ttDJCsoUi5Yd7zNgYB9HsZKhrjEcl/\n7+CWkHiBI2rAKqrMX+EGI2lzgvi2HG+u6BFloCF7d0llZ8x0m+FbAf14bGXw\nalxlSkoGxSvnh8dXbOUVqcV4K8kOrGXfKL55UnDmHcWMD0aSANAIzuWV+b/z\nLRwAUJM56SUe+HtLoK0APUI9teZ4PjB6IpbFXzMF4HuTyOWeRSoi/zjJX8sm\nAm4uOOZ/asHW3zu/nFLDhfwac+Labe91ZrutTJ2s7/0l40Qtf1genyPgUp1r\nNROYUyVAK071Id6/XNGFN9GbCNAFUWmT35XdyzbXrxs/AK9JX3wx3xIJSi+v\n+cmzjS4eCHr1aTyAzZTDE0ZMqKno25bryRUG9a4Grq2LKWk/cSyfEHGrdztt\nYGwD\r\n=AZDw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.6.1","roosterjs-editor-types":"8.6.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.6.1_1626728440598_0.8772103680903001","host":"s3://npm-registry-packages"}},"8.7.0":{"name":"roosterjs-editor-api","version":"8.7.0","license":"MIT","_id":"roosterjs-editor-api@8.7.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"b2ab2bf95d0df332ee2671a7ced8f64b82e4c767","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.7.0.tgz","fileCount":303,"integrity":"sha512-ckEFJsOuB8QH0NMswSsj/wEPV7HnfuJPd3ZuOLQTLtpsera2CxYr9dO5RT2vGJrZvYRgQUscYDZEUfvT+Ma1Fw==","signatures":[{"sig":"MEUCIAoYzRCRFFgaqDDAJdq5+Px1Gt6607Q2xEzZBxy3leoNAiEAgpzXWb9NIktADACQaVQ6p+0pLVOhUHW2gtl5+jQRlNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":407595,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEpOlCRA9TVsSAnZWagAAcggP/3ZZUJWvqBpyvBHyV3F6\n8woMDK+qWYIq8yodMmRRwyfK8CeD//LBhMCu64HRyau6wV/EyGyf17hfaXAw\nFb1CdviwzbSASruN2mDEbXZ9r53344kNNvjzHL09ZU/Lzi5pb/K635qdlQTZ\nNJEW9J51HLM5ME0HyTMnW0ESWYCrbJ/z6N+bZzV8WYqB5y8bN72ffpuhwlQU\n+nwcaI4enLbjecsy0lqghZeWVucIWry1QwFbmOEqZO6zpWtpZW5+qjjqradg\nwrJ3CwcTbi7boQupH4HmkB8FKTfx1KiXFMrmYb6OZST4qMLt5LbyicxHQZuN\n8mknOHmhKYdmDEKsHMMIuzrk5qioiLPMYaSmA6qZmQwAZNnAsQ9q+KDNgzYE\nbirqwHFJmCYj+LBDfxA8vB5e8ixu65Oigkoy6Q/C16J+6hNO6Sk9CciWxMKG\nDcpKDj3mR92O3yNE/3w8F9YlGeFITvAApAeNpNaReIwtVnjOaUSciCO25ZyD\nR6wjwHs1mjLfBC4WLKjF4zlQWTybJ/9Np3J1XrVWeo78/9nZWrmtjWml36Y8\n5qGfIuGWU6v0Hjs7DwfhSNSle501emdSRzp7y5bICt0pLqx/qAvqEwZWPOCM\n9gIvBz0z0F95fISXJtx5Elq1QeZsQmS6539IrDRGYM9n0wVw4O4i9VrT84Ve\nfZyy\r\n=aanh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.7.0","roosterjs-editor-types":"8.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.7.0_1628607397458_0.09020295504245568","host":"s3://npm-registry-packages"}},"8.8.0":{"name":"roosterjs-editor-api","version":"8.8.0","license":"MIT","_id":"roosterjs-editor-api@8.8.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"55861089dd83d09fca1068cdc75d92de1a42c8b7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.8.0.tgz","fileCount":309,"integrity":"sha512-ONgNOtTZEfoN6WwKrI27Ml5FoIrmljTm/1fGMMbhgOM3EgscYU6Qpn36X93ZdLa3mFYH5JC9XU7v0tmnXrZW1g==","signatures":[{"sig":"MEQCIEPPVNdEokUJ0MQxJ187Tj6ysOK6PpxiCM6KMdbxKxZ3AiAKojG46yA4bb+W3n5MDEPI2lpuKUkd0aoarQfFIKnceA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ/2lCRA9TVsSAnZWagAAHZ4QAJRKK46klcM3n3PxHVSc\nOK2rJHBZFfpChojeigwRQlhxfk55OCSsjbUTfIuD3hl9nxy2g1BE5MU38Avp\n70C0SUMVyGvzRA06MEr1eMtuMLpLz/GHBIxLeBcwqlvMAtxX4iAev2d+YWr2\nKtG6mIJtGSJelCs2m+wHDkKfsrKgKzoSoJIqOwlf53cHcA9LCCQrv18M1Uty\nY0hwYi5t5W4DcMH6dn8chdyJ4QeSetsPXVIyWS7dcZ3jLRILGx+0Jy8T/VzI\nOrA4nfVpMZTW7egkaqv//agitbNMlIHLuc4BhwVuRLASnczx50s+smi4Jpqt\nasuCkESPlBkXoYeTvkypR8xBy1kTQsbWzfJS6/sNN9PfgQVi3HteowK4A/iH\nuCo+93mvxMJZNUDg4uExXZI+f/JyheqGr/16Gc1wUUFIv2H+hMWlRPK6D7lN\nN/lJZTQzc/xNEfzauU3EvzzB7h8PO/TfltJGxlsDMGBCFO/41oqkiUQ85sz2\nudpcezIzfhaN/KHfcuRDbxQQNn5rmdkQ4RMF21qNeErITDVRt/aCV8vm2RJV\nL72WdliX1psccymEFaEASdvfQOLinXR1nOhdqMJWpYL6NX0CHjJOSVdP4Ft7\nI8y293ABe1euQVncWlJ7Gq5RsHdmiczzTnAs1D97IWc8njcZumVuNSFekAua\nVr1M\r\n=oSLw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.8.0","roosterjs-editor-types":"8.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.8.0_1630010789585_0.7853995219561285","host":"s3://npm-registry-packages"}},"8.9.0":{"name":"roosterjs-editor-api","version":"8.9.0","license":"MIT","_id":"roosterjs-editor-api@8.9.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c5808799220a5fec1976ace41a30d9aca88d4272","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.9.0.tgz","fileCount":309,"integrity":"sha512-ktgel2TnoXx+YAia+03a/W66wnHKGV8Y/tO7v7tRier+HIixOBAda53mYhZXsXaKUgIIHgdpd0B34U9q0MtOkg==","signatures":[{"sig":"MEQCIE6m9oQ4HcgfzQhzFYxf1WoPwH+EtzOgs4xV8Yesw5YBAiBWAlkv/OdJo3hJ9ipu4FGl+RvFllBUQ7QkezJt9e9oEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOswuCRA9TVsSAnZWagAAB/oP/2HZITgaB9Bco4h2EmMx\neJxmzVfa0t+d0LUtOVWDNTW/+m6mY/aEgZSuBL0SUfSOFwuJyughCz+o8jny\nK6lCt6ncclJrrYsiJmj2VfZwymm44njvTYwNpuZmyLGqrXD4oIZrsf37T/hk\n97odjfYDDRDpEnToUNjWGuGbUp/fDbWIB/GtQ+2I3bLuQBf17fXg5Zm9c01j\nYqjQwh9XEbqWEh3L0Qa3aZgHhvdhNNchx6OhktXLyP34HXbSpi2hYlyQkykv\niPjaUbJNM6mTseNQBxuy94CEZvTaskt851wofPlWzOidGTzapVd7NEiGwruS\nusTR//UB8oRK5Y3JNZbEJU9oTU2d/KIT0ZFzoZiyRq/941vTN+2UCr0nlcN+\nbGFDTueRrkFvU0mxc4T+NLFUUnifctk5BPtnS/YoP8j3qmVaU3wk8tlfyOij\n2aY9q7GapcMSuFfpVNMLfFhz1Lh5MhhadjG7aN4a2i7LA41q85rs4TS8hmIL\nqtvPDiSy42tUlbQJB0f+7DJ1Te+ierpjpB/w1/02wPMu5GmMokrHtF/s1m2I\nNU2N6Y2yvOLTqCk473l+22RXxvzI0dJLsngcPzmtLkAM0kuMAMXN4jC5Wffs\n/Sbi/PlMMmBSypQ6ub3QuxX1EdF4BX5F5CKTCLlPRkpBREZmnBSazkZMVmNc\nOcNP\r\n=N9Wd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.9.0","roosterjs-editor-types":"8.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.9.0_1631243310414_0.6445138258854737","host":"s3://npm-registry-packages"}},"8.10.0":{"name":"roosterjs-editor-api","version":"8.10.0","license":"MIT","_id":"roosterjs-editor-api@8.10.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9e2a1f5676311974ea294313b08026630b193b8a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.10.0.tgz","fileCount":315,"integrity":"sha512-H9YCBWH3S2AruGrlFCKbiVO6JFWlfCvltGc+5w9m7EpD6oRvVl/S7vj3EDd1dhzs/EDpuZ2CY5quEKbDMuOdxQ==","signatures":[{"sig":"MEUCIBoN8Gv1lctdpLZIktnhhAFWbGOmFWp6AppSmsMG9VpEAiEAviYoHY9azXMmuFRnyH736zf38bB6yEb2NCyXEvKAJ/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":436938},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.12","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"10.24.1","dependencies":{"roosterjs-editor-dom":"8.10.0","roosterjs-editor-types":"8.10.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.10.0_1632522977475_0.9921572096583795","host":"s3://npm-registry-packages"}},"8.10.1":{"name":"roosterjs-editor-api","version":"8.10.1","license":"MIT","_id":"roosterjs-editor-api@8.10.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"017974be361807c3209d2d5fa536adcd48f37715","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.10.1.tgz","fileCount":315,"integrity":"sha512-M9Rg34rLn0Xn/MGadGE8s7tIcHlCjwa1GV0WhvU2OYNMrqBeuXdN8e50FGq6VNyvWRDkf+9Va1jGaXL0y6O+oA==","signatures":[{"sig":"MEUCIQDncCYF4WyEFpxyqvomKIZ/gEIZibsY3Mc2jvWyOWjYbQIgSst9TLZuviELX2ewXq+t3hl8MSqpm+rhPkzvjVksdBg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":436994},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.0","dependencies":{"roosterjs-editor-dom":"8.10.1","roosterjs-editor-types":"8.10.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.10.1_1633727596703_0.4698925578215889","host":"s3://npm-registry-packages"}},"8.11.0":{"name":"roosterjs-editor-api","version":"8.11.0","license":"MIT","_id":"roosterjs-editor-api@8.11.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9d9c2c231915797f9086b310867f57071bfbbc11","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.11.0.tgz","fileCount":255,"integrity":"sha512-ot5ogy45nAthwMl8jTqQoajToeYiZXjLHbh36+YOxwAM2fZCsUANS1ZMKrriZhbIXbegSA4eTYUaFVU0OfnW1w==","signatures":[{"sig":"MEUCIAzhcqImj4tZdZrJvd17TxYb1uPJE3Az8WFGzvRT+iBbAiEAkvJ8yafGuC2H8M58zJ8Q+CDw14VwFrIaWQG+Yr6omjc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476183},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.1","dependencies":{"roosterjs-editor-dom":"8.11.0","roosterjs-editor-types":"8.11.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.11.0_1634847433887_0.8865494418420767","host":"s3://npm-registry-packages"}},"8.11.1":{"name":"roosterjs-editor-api","version":"8.11.1","license":"MIT","_id":"roosterjs-editor-api@8.11.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"1c11750eaa32e9af4ca6b5b3d7f1c605ace111a0","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.11.1.tgz","fileCount":255,"integrity":"sha512-jMhPvwqiDSdPmcUWkH0wmerf5e8bdhY4mRQBf2pXnflI8RgcKCXcF/NOxzNvgkjbYzkiktiS426azHTH/0ksQg==","signatures":[{"sig":"MEUCIHiW++huNjkMTB0oEjOOt2U7h9frIF3C7PhILD3RSPykAiEAz9xgg8f+XQ0V2WwLlsoMlB+CDi3ZGFazU8euoDFw1kk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476183},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.1","dependencies":{"roosterjs-editor-dom":"8.11.1","roosterjs-editor-types":"8.11.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.11.1_1634925080810_0.05757882766532263","host":"s3://npm-registry-packages"}},"8.11.2":{"name":"roosterjs-editor-api","version":"8.11.2","license":"MIT","_id":"roosterjs-editor-api@8.11.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"66aa64adcae38fd316b2ccd3a668ec9e6a556569","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.11.2.tgz","fileCount":255,"integrity":"sha512-NuOfBZHks/SsgEZhuESqN5ssSjZx2jzYeOXxLr2TFDMpbCochaCj6aHYlyxn9KOChx7bQX7AUdNYqyB/THto+w==","signatures":[{"sig":"MEYCIQD5TRo1HcdO+5nkZ+7amjFLmE9v5vs7WH2FRT638gVhvQIhAKQCrLoz8eS/dNChUw8pEr1b83mewf4RFTWSjHEq+vhU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476183},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.1","dependencies":{"roosterjs-editor-dom":"8.11.2","roosterjs-editor-types":"8.11.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.11.2_1635548192005_0.49807978101271666","host":"s3://npm-registry-packages"}},"8.11.3":{"name":"roosterjs-editor-api","version":"8.11.3","license":"MIT","_id":"roosterjs-editor-api@8.11.3","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0dba237ed82bbb9f01dcb8694a1d45c869951bf3","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.11.3.tgz","fileCount":255,"integrity":"sha512-2SHKTu48oBAEK7kSbfMFaGh/bz+OSTEJtHHwatCkQpeCNm+PmJgUzU6qNNz/z2zUdpYUI+0OUnvtMeVE+HC4jw==","signatures":[{"sig":"MEUCIQDtp5NTONgpZch7Jt0AhrwXpHW8iGtxfWHkeFbyzWXeAAIgAI8b1krZ1aPERKT3iRjQvjhmFKwlb1NUeHepN5T0Hao=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476183},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.1","dependencies":{"roosterjs-editor-dom":"8.11.3","roosterjs-editor-types":"8.11.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.11.3_1636137736056_0.7973920445080203","host":"s3://npm-registry-packages"}},"8.11.4":{"name":"roosterjs-editor-api","version":"8.11.4","license":"MIT","_id":"roosterjs-editor-api@8.11.4","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"dcc0cbe0640ba1c1dc2edfaa51f67711af9cdb8c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.11.4.tgz","fileCount":255,"integrity":"sha512-NN6BYsI75SWfqp+wfXIF2CG+oixu1fW+uJ3kwQFp7RsY+X2EXAL9Xjfyme0BzMmqe59chkCJ16/sTRyljUPhNg==","signatures":[{"sig":"MEQCIBTdzYkjfH9aP4pzbKC/zig/EskaQrsDdXyylYYVp4MnAiBCKvMK8g84zhkciVSGVJCT1QIYExekgDf/mWJvUlVtVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl/fLCRA9TVsSAnZWagAAM3IP/3gmpqC02P3/8CSUkcdh\nUoJuwLMNuIrwsqcVx/8dsvOE0HDfgk7IKwmL3tR0qlTrnQwJbRQOu9Nla2Q+\nlz7Rebmv06Lx2FTK4prswzznh/tSixdEEH7snEqYw2L9/6ZNneUi+BLANNEL\nhG3K2KrgLzzJ7FnZJu0FnbmJEG96o79rqjhsuMZn6WpIGwavAa8zzjychRa+\n+C3E4P/YIXrXzDYXJFaRFAZq9GLM9RFvD34oH7tOjOtsm1BmfDcH61fwJz5c\nCsbkdyzm22AU8ItC4R3ZawZG1OZ4gT9GNvL27WQnEXecxTSD5RtvuZhSjHiJ\nKd9+LpeaBYpQCAFQA0on80jvwxiC4aGSCGrTgUPJtCuKZ2nl1N34qPGWrs4s\ngG3a0pcHtxzG29s5pqqybGXwfe1Cvh8orMVitMVeEva1TwiGqRu2Ww5RzfY/\nKy7raJSpZbu+f2qpdX4gK3TKl4GmHFA2aqwADJXXcblYT07uYvREWtMdHh98\nTXbogd4JJQ91eIBUW/MdVwgZZ+mpmEY4FuZ3JVQrlSrbYPfi+IMl8DGGoNGG\nYK/3viVX0QPK0+eKm9NjgbN692FHre4gjUHXjgy8DPkflmMwPxPHkAJJlvnp\nJoUodZzjHph7V3tpmb1ctssCdmNnPzky6TKNnRpLDiekeReZFuUmO4t8g1b9\n04fM\r\n=QUc4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.1","dependencies":{"roosterjs-editor-dom":"8.11.4","roosterjs-editor-types":"8.11.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.11.4_1637349323227_0.2768466589290328","host":"s3://npm-registry-packages"}},"8.11.5":{"name":"roosterjs-editor-api","version":"8.11.5","license":"MIT","_id":"roosterjs-editor-api@8.11.5","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"713730268f833dd5e3f5ef842fcc8feb2aea2810","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.11.5.tgz","fileCount":255,"integrity":"sha512-1wMIpvhZeSTEZgcUisBTvvb4q3CTuEZFBez8GvL/sV9TFyLd/bRUvtUsZ5dXXIt2hcMRChIgQun+JgNdhzD9HQ==","signatures":[{"sig":"MEUCIEwGdR1gWDJc3fZ7fy4Y8+W2GtteQ0dPSocRu0yYgcxoAiEA8fvkhzuZl5Zj7Ew01X01xniNQlwWY2VRxe59zHYZCtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnTCgCRA9TVsSAnZWagAAi+MP/0HxlOAP7MdBungJ5u/u\njgPCaZ1WJ+kNGF2GidBHzIYuPGti3AmHjNkB0IUYKgZIu/qkM1C2ZuNSUM4b\ncNum8NBc7LZNA7XXtpPGeUqGmssdnWZN1OQE1zsC5NnWouE/B/81BLzbVUs/\njkjG4UR+vH1iBd7jmUdhsiaP3WBAvKfLXl3wTon5tCBK9pbbHT9yN9+RRK1y\nUCveiteb8IMX2oC686kM8SS+G/NsHp2z2E78AxkKpcC3HbSf9c987znuPt5H\nwqrAPHdDsc/dQaTa9ON9OJW5mmldosu+LAjp3dy+hpkSOi4gM7GtccXZMHIF\nITGDSdHWvlZ3Q4nkWXccC1sztjA1Rjtvv/ypjrYOl5SdxHZd2ZCTQ4J145BB\n0s6euDxc78r2omMjV4IYRLnSf+N93KllMVPE36tBhOX4/hhDYot4QvEbFbR5\nAQ04H/9MT4seyk58Vft5d8mreZo2J+4lAWTVmvshc46hyyh/wtPF2OChJX9o\n+qLP7/NSSb1hyUaa99wOh1Yr7ZLaJ1wJNBha0fK2r8HUsPbRa2L+FJIx+UUm\nvKVb2plQqiEyUHOMh4HTNtxn/DvVW3W6JEvRKSnwE/a14RU03ilwaimysHMk\nXTwNW6Zf2Uuoxtdad4J5kThD9HnBnXA2b8KC+9Teh5xklvacvPRtxWWBN70l\nSIeT\r\n=gHII\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.1","dependencies":{"roosterjs-editor-dom":"8.11.5","roosterjs-editor-types":"8.11.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.11.5_1637691551906_0.22379924259428163","host":"s3://npm-registry-packages"}},"8.12.0":{"name":"roosterjs-editor-api","version":"8.12.0","license":"MIT","_id":"roosterjs-editor-api@8.12.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e3f9db4078caefa1762c888ebc49d57f0138e15c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.12.0.tgz","fileCount":255,"integrity":"sha512-9Gpfe3z681Cufh2g8ov+M+ppCTwW+HEuTG6Hz+w6Nvgfir6ll9+fDFpZ9GJTDGEFJZ5TBnHB6ikHqprUcMV69Q==","signatures":[{"sig":"MEYCIQCOlGomhfnATfCsc9EDsn/30LaktK7nAkPXa/lSyKTmbgIhAK2SHzK8C/iQAtqg/a3Ga/AsRk3Kwjxh4SSYU5+WStHE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2Ms9CRA9TVsSAnZWagAA2K8P/2Qz//H+OnSqGesi6yvj\n5DEAG0OXHxpwy16M7ZrNHOhALvkw/uroDWJN84+ARR11UftdlgxUIypeKgEV\nEGC70CTOMqhCIWbVKj2NhYITjxJcUU1yEX28+G0t0AAW9FNBPU1ud6n0qJB8\nlwQbQ95BPIdtYayejS+dyu5TaJdadnGLF2CSclyiR1TKTSUDHSbq5hhuIkxC\nY/CDwX0P2HDEJPhcb6y6hQglH32WFhfeaxSLccCQekyTsraJo/bwM/Xn8SlZ\nvXwEI6KIR8DkZiTcrPtGHe8BVko3rlBqC6F4ffjUcDLvrUn4xRRCF2yJxXqo\nAdK7BOHek4cb/xJAmjO7w3NqRorP3cWHOt9H0Uev6FyEqs8vh9gIMVcLOOiI\ndvGLJBTtknqZ9WwHmJ2yClnKSjxgw7QrNxAuSoJsDt4xJcP3rP1CT+TUcd4e\nAdF7eWpah1us93PmBUNhEgHcalhwE23WBMl0TXwlSSUWtxenAVWrtX9VN8eJ\njIUtjLjrpWg9HeTUc0Dd+ahqnKpUHUUVqiLc2qAWfMmXU1CUl3/rGstbvWp8\nqaEGGZNivko9FA1a5hDSBFo+wofQ2rRgyp0NkqLoT3auNfNGIbiU0RzpLxxD\nGA365VOM84zBfQbxOgzrXT8R/Z9wqcgdclwvNTFRvURSWAjDW+PGAyfTOfMU\nQlRz\r\n=fOym\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.12.0","roosterjs-editor-types":"8.12.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.12.0_1641597756994_0.4487952871060972","host":"s3://npm-registry-packages"}},"8.13.0":{"name":"roosterjs-editor-api","version":"8.13.0","license":"MIT","_id":"roosterjs-editor-api@8.13.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"85bc915bae51607ab9e020a14556eb5a5dcb4a72","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.13.0.tgz","fileCount":255,"integrity":"sha512-M8dFkOS8Tvv2PDkVwGY4IvnEwiPFJROKjZPKdIKcVbo9YBSJRrM3tAbTkNYRjJrjFKzTtiSbx2skh663wDQ8ig==","signatures":[{"sig":"MEUCIDhWDGeYcrv1GhiwEPI4FiAmtd/vg/S3VNRRoxQkuqGeAiEAvK+aJFN48XTj1GOxJCo3+QipcG5085mK7Xfa+sSd6bY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6030CRA9TVsSAnZWagAAzUAP/ArjqmByRlyO2XBy3Sa8\nZE5Z9Qv15tkzV8yU4jbkwCqJunNES/XDN+MbblMjbMrALxjJAwdiaYOm5UIy\nuVezRv2WPgHHqiAwNCOCLDsySSsa2RlwIss1mRvdRwSXn/zicfl9gZh9zWDS\n393vpCuR53qfGE9uSvAG8rlKwFWQGRdvyKKv7famFUSH+HvCIlIgb69L3B6e\nr4LTknb4RR3tEdCc0CQGbKh6F5Mzyg1rHH5CH6FE9Wpn6P5rMseaCnU7/qR8\nFuy2x9SJSQmEQO2wsXkO6qdJHkFO+CDTcroas6VE9KuuZ2NLLFx3l/xSS3Gm\n28vr/h/gwIBQvAaXjrQZdmGNbdqjXPPq/QSOPHnxdAet/u3cVH2IwMz52UHG\nheQ2XKKrc7wlDyPjYPdWxaS9JD5sklq39cmzvz8NOyNySSvpbs3E4HZtTP9a\nJb6hgTIlHSQ6ZUiVS2rQ1C63IuBsAGZlonIWH4cHsYwp9BW3M9lF6AMK9szJ\nupxuMsrGaY+zriJPFAvbKxNfVKyEBZA1CliLvfAMGiNlbk+a+00NZdDHsTuu\n90b8LRxhyCT6I8p4Wil/p3d6VGUaYmoDSNz4/JKwBw4rK3sEJPu24ddhm6Qb\nxH8yBE9FJ9cvWojRziFO9h4blVR0HzgImCuglPqcY9Z3khbVUSWJyp0xbDTI\nd88o\r\n=NPzv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.13.0","roosterjs-editor-types":"8.13.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.13.0_1642810868437_0.08734514689174921","host":"s3://npm-registry-packages"}},"8.14.0":{"name":"roosterjs-editor-api","version":"8.14.0","license":"MIT","_id":"roosterjs-editor-api@8.14.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f176f7bc694e0b8fe1a32a9cebe7d4a96fc6bf8d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.14.0.tgz","fileCount":262,"integrity":"sha512-5mIyS5o9s4CTgwc0xUL2jDPa11I8K0EDSd3u851T4QjYBJydrP3VyeERl5qcGW2MfibE82ln+Wr+suL+9W1ZjQ==","signatures":[{"sig":"MEUCIGfxV2DG8ycFvkkSj/Dk9kDd1VbBncOkyglom1VWHrAPAiEA16m29JBpg3tv+0YMz80DlD8avunH/fcMsK9bjJcFQAc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":584482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/HhuCRA9TVsSAnZWagAAtF4P/3NJI8J/qpTnRClgHxFI\ngtMZG9rnYkkqrMmFMK7ntqtWBJlvcr9I09laSBUtnssIWzjhGqJliwQC/ASu\nm4nABZQGK4jdebJs+sR9m20CnWrzLmPDWsLh2vK9Njwb5WIlyFeAgYEyKN0M\nr0IY1WrMzyVCDANGQ5YlZTHeXkdW22QrWiiIzRcYtsGmVs1mFeE00qOcc9XI\ny0DquurtaeQ0exxITBy+kV71n/YNMkAhXs7GukhLuX+7IcNrVcfWypCCvekR\nH0f3djLm27Ldh8LGUZ7hiuEfEUGRsQ3s5fO+WJKJqFxoVNOKMhA5n1+WbhcM\nfcqm1KhYLtpraH49c/Bc7BK79jSPAhBQwLUxUdiUVxW9Wqip6ZMYpr45oHlD\nC7hkE3LJhEToDy9Wo06wOfvQX8KXQGPfzXpj+aMI0GmMFTLtqEW7zEdM0SrB\nhrXHySgvv6Hl95CKovWhwXAZXT0vEZHR5Uw3CjZzU9ef8I+JVGt4VIXcyGGC\nj8SwjFMbmZawwo2+dfU8tnufDetyMmym3xMlXHvV6pnLVwbZLxlZeK8JkPp7\nRg/etWKt9dgT1AjTjWRR0ND0gBSQrHAaHkgl3ntZxdElTegXyMnQo4h+Hc/0\nZTiTKU3ysiNt3Aii8AEGKh3hj/QFJyDb4iWC4nvRtN8Ec0V7XaE7V8ylOFwi\nCF2l\r\n=AzHd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.14.0","roosterjs-editor-types":"8.14.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.14.0_1643935853942_0.390601005014368","host":"s3://npm-registry-packages"}},"8.15.0":{"name":"roosterjs-editor-api","version":"8.15.0","license":"MIT","_id":"roosterjs-editor-api@8.15.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3866e8a48fdcddacc9160e3bad7e57891e351113","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.15.0.tgz","fileCount":262,"integrity":"sha512-9kU50AZkMiN0wsnHQMv5fkiY9YZbyr09gBGIoqluo0hDn6Ovud6AA/UEKWkyrMoDZXfOgzZI+avIHkRm++/QHQ==","signatures":[{"sig":"MEUCIQDjIugV2ibEh+qIOlnJ/iUCYr045LxTCAAnqfcB/j+ZxAIgW9SJhuphmD+quEBJMMeewtrXoqu36B7n3+SX8DAFhoU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":584897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBG5iCRA9TVsSAnZWagAAeOAQAIR9Ab6MRdzEBNAJzNNy\nHlK3u64ZtOpv+isozgCiJNhW5R1V1AbS/2i8d3WQ4i2fbL3Sw5074WbTvTcn\nAVdtUBUNNh9V+GJnKW+6yijuBR2C0DtshXefVm9rI+lz63O9V74BKTijGjaA\n2RJqt2j2lHDlRnbap32OdR8WqdQNlS0tn5JDNRoP+V+H6+ls8Y+s5DJKcfF3\nzNA60Hb0GJcH6FeZvNyzMp4k8Mg5ZzBjkNVZAhdjR6iecFciPyTNqQmS7dWg\nVXWKFHzM91J734cxjN6I9UWliZcK1ma8VeWuPA88Lz2uw3oU8DCERtQuAMOb\nfXfCod8ItqsQx88wxQhxkFnvY4+KORjtbuEBvrkYTuJ6AnvyS53HpZ5oWBca\n8WDkYrbTJNax4b3sELCqwX0kZf0OZjztJ2gVJzn7FD+is9i8KaXFEB8QgyRN\n0sNjUO8dAt6DkIuATN7H/6u7/pwQVJPK3X+SYsUUvH0kjVl6JcfyD6CSNHNG\nVPZXb+Tbv4Ga8saMLXAfw7GnKmD/3HeQhnEmc0M9LsgeIyWEPMXAdYGs1/6d\nXxC5Ba651aPslG8wkB+lqpZnN3omgc1fxBp1o9lRM40SAMyupxRmRbre6AiA\nghwTqIae+yoOFp3BGODYp8baoOWElzpV9lF7wMmC1L9gPyy+/JPNpF9nV+50\nOROY\r\n=uRNs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.15.0","roosterjs-editor-types":"8.15.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.15.0_1644457570027_0.35528108685799675","host":"s3://npm-registry-packages"}},"8.15.0-dev.0":{"name":"roosterjs-editor-api","version":"8.15.0-dev.0","license":"MIT","_id":"roosterjs-editor-api@8.15.0-dev.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"15e6ee2efe35e981279a1b74689dab9cc1bf7b36","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.15.0-dev.0.tgz","fileCount":262,"integrity":"sha512-5O2eSco168PMmiTUzAC5dKfN2wTW/hFckSKQnJreN+OypJueo3QQQzqxKLWIz4xUSwTlyoLhIbfd5+GbA73wiA==","signatures":[{"sig":"MEQCICGlPu8EjRQG+W11/Kb0U0v5IiNPN0ES70vQ2KX18V9rAiBnstF1nuBB2PXdK25MOWG8Xx+wg/Efgw8PZbLRkBJkmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":668288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBV01CRA9TVsSAnZWagAAdTgP/2CLlKdcph9utwKImk1b\n1zVpH1Y3edum6ymfsOTFcIM22zN0bcsmUhnscsP5a5j06ndwAx19i0IIXLcQ\nq8ieM1Gk1fdEusvb0vFghTP0LMbHHPWw1sC8U05+gsskpzCSU1W1WKK0Ro+Q\nw8Wh60TmxTt7eaykyz9c0KvrpHvebuv9/GM3PZ9TQSxLVbSakYbNqnTERoL5\n1HykaqPD2GLRxQGlwjzVmdxaZCeyEj3XN6S+aW70fRSkKAlOx0AFCjp2VBPR\nbrFbof2MJIZ14zDoKLrRReKFdFwJm+RuPLiysky72oeNQplTRy770g6NxfV0\nL8wFuT51LT+X16thAe3uwXgOrfE6meT0NtzHlWRyWBL6ApSxDkDqy6k1gHMv\nlHqgBpV47F61an9oACI5T3bXoiabQW/j6i/GW+Cu039q+CM3nHOVKUe5yB4+\niFnFma3+PDHPIvtgtI7yE9bOVbCoHYrjHwUq03x4mlY4sN4arHUl6E3b06b3\nz4mlE1r+yMOpHgaV2YXIsws5gqypQr+/4HzTPqa3u2Ev1GBV8922eky9Vj1/\ndoS1/N8DQfGKKP/tTDJRmP8zyoFmUrpNcpLL3AHhckICNqW0+b2mDWM0Ik7q\nYh1vdt03zSjlM6q3XS1mNGBVpurPiSYFnXgdib6hm74jwcAL7u2YkfnCGlBH\nG5Wm\r\n=kqq4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"004ac451398aa7a52ebd718d87a68419e4394f3e","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.17.3","dependencies":{"roosterjs-editor-dom":"8.15.0-dev.0","roosterjs-editor-types":"8.15.0-dev.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.15.0-dev.0_1644518708848_0.976458734930802","host":"s3://npm-registry-packages"}},"8.16.0":{"name":"roosterjs-editor-api","version":"8.16.0","license":"MIT","_id":"roosterjs-editor-api@8.16.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"dc5782f3f3b951419f4b1b71a2d9a94097c5e96a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.16.0.tgz","fileCount":262,"integrity":"sha512-7DSJ5ENXXdm3l6RLBBZXQA6xFN7Jq3p7Ww8BMDHbijy7AfLiBdc4KMskdVEXL5eY+SLXbsYqqF2CXD1fMYPOYA==","signatures":[{"sig":"MEQCIAdjahU1/d9im6hiWOBNuCu930jwNE4L20bN0m1WN6szAiAwiUxM5JmLwbw+Zd2p7+YHdIDK6MhWPc6+pOFwz8n8+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":667871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFVDfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpfnw//bKucmPYDuFs9MNF5AlfS5FgEIsYxyaZdHHuxTcBlwUAzWDkZ\r\nXVvmzH6rf5wo0+BzX9FV1hpXIvn9EGAl7jYLk/RrORM/zq0DZdDX+pf4k5VF\r\nSHKNawU92G10RwuHLajyyPenJZ2moiE+luqiKmOTtSKYzYK6IYtKnXMtoh7p\r\nm0+NbC7WoSHscP7FDLttWueb/CJzf176R+nn+CeDexYkNzRLTREtwckwV/Gf\r\nq4gq9F/beKiJc3flYVWvXOgqMjwrUbCvF3D0plrErfDovaWcRF9fYzu4t8PD\r\nyytg6l/Wm9lM8CrsSB7AQphls86gTprpXcdAJuMH8jPM5ZbDxg/WoxkF6UeX\r\nS3lziRmlDlQtbY8NQeDy07uwkn8l5VNDJxw/PBTDgkJttg9tfr0fQ0sKDXj0\r\nT0JKhZQK9b+Tbp6FvR5G6DeETLckEibVukZFwhz6dMH6ro3S9sKEcoKufumI\r\n38L07fbWyxl9KXTaPRJfSKDMmp0Btle0KQm7gIc6IFKFpN21FooWK6y8E80S\r\nW0PDQk7zNd04YONMkw6TqFcZ48KHKWKKppLGuTOJt+s2r+I+O17q/QyYubX3\r\n0sM0H1WwHBmyPBYJkPQigaH59d31d31LN0RdPeyzspixVRSKPwF99SK50VnM\r\nILkjiBLqE9QZIEfxXbDizBqG3kAn/DBkKmg=\r\n=Ah/C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.16.0","roosterjs-editor-types":"8.16.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.16.0_1645564127279_0.4239915989888239","host":"s3://npm-registry-packages"}},"8.17.0":{"name":"roosterjs-editor-api","version":"8.17.0","license":"MIT","_id":"roosterjs-editor-api@8.17.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f00181f43ad8384ef91145569aec8cf20d2b5441","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.17.0.tgz","fileCount":325,"integrity":"sha512-J405NuyCgMqyxTemztAtywaO+hZyRonoqsM6TO3haf8YGDiRpbFEuSm/V+W35MMLYSM60BiH5bjrbK9v/TSMnA==","signatures":[{"sig":"MEUCIQC5YzSRETXZ+msh43E99NZTBxVhdkVXtil4ycbbE+uoMAIgfBJCqyJ7AYSRFGbcHCenUP/xXXqMWBmJNXbjh7PZ2BE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":709917,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiImPZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrFg//f+Oo+pfSJ7jxnXrumPRBQmpFpvIELf9Rk+jTWyxfRZhG/6DG\r\nRiNh1/00/Tw1tzeFnJN3/9JHOxWTnZMVbBf6HdTO2pyNEGYZfXK/tXQIEbT7\r\nlfBZ/hwgsJBLAjM+m6aNaUkR/r08Q01az14zBT0QKHT5lYUbIt7cQB4Ygiln\r\nE4mENujV4CZK1i/Y4te2toOI2Odel95SvZyURmyEaj/Q1Gp0HSQwAh5qzBjE\r\n2wSPLVgqqjkvWe8ecXsF1+M5BBR5j5yALBDRhhKw5RPzdM8sXl7FCt2M4+T9\r\noJNnoj7uVjfjFZGj97LDd8Gkym54Muzc8YSXNK/eTneOwleaoI6I8NnCcJcW\r\nJPni+IKpRmHCUkGfFy13RswQB1exvN22jLwH+Y2hWoURcP9S5XOQcKaqUSfO\r\no/3xNGr3DXyuz7432+90iyeLVuqySIVbpYwXviwRh0A2ylg7jcYohF/M+Agh\r\n3h9yVi2SvlTF+u13pkQ15I/3yfAle5W4FhNJK6JWF0zMv6wdQATIpcqniw5g\r\nNI59ltDwm2UtIzFLzC3UUMwJKzb63nXXfaBYk17O87mgEwLZazCqFmW1c0pE\r\nAz76pGKQbdiYMZvlhrY7+3a0SdK1nK3U8Gm2UDTckoM6uaptJ1KLxoUtB8WE\r\noYUstbXQMqAPwxzOvHSFgP6Qo/+gS4rrar4=\r\n=P8Gn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.17.0","roosterjs-editor-types":"8.17.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.17.0_1646420953338_0.9697260581708338","host":"s3://npm-registry-packages"}},"8.18.0":{"name":"roosterjs-editor-api","version":"8.18.0","license":"MIT","_id":"roosterjs-editor-api@8.18.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fb9537ebcc64d4e22848d6a0cfda2009569069af","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.18.0.tgz","fileCount":328,"integrity":"sha512-HQEgj6lnOofoNelIDRW6TQdoFd8a582IxacrEidXxbQUl0UcAb/kLqdtICjbRjbzQlgsx+qOwWDjgNSluMW22Q==","signatures":[{"sig":"MEQCIF+nHV2OES170xgRpS4ia2gVgh+2KWEjMubh+nE9SLbQAiAGU4Br9LqFUQOG25dmq0rdCJbsmpkLyrg7IHiNViFa2g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":716830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiM/RcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouvA//dnVfnptEoL1tho33zXRmndBfWEQ8GO2wJ3UnyFVvL/uG4uy3\r\n03At/uwgegMxPehXYt/gDpRs1NSN3bFmTkzN+6Iizq/Onsd2CZGFYTWYmVOm\r\ncrRIvSEYPatyjQSnM5zqe7dVKa471EcQ8BmEp3LLvv8f/tA/w/D0zMBNH3S4\r\nODI3DqcD1NIE8CovekWgTOpp0lhPIlY4p9c5FXyPsikYgQMJXOjpjTKrSrhc\r\nSmg9t1dc6nch89G+78h+87mAwGCq0hvUoL3nXdogA8wWfvy/QDH5lo2TtpTJ\r\nxk8cpGKuLmYUAyJBxqQEKcHd5yz7xop9H4mziE4/du9GtmQSEBPsKD77dCJv\r\n+f4Rk0uFJGSTmSd1wPedQs2LCzQi2uVJTqHNR4Iwk8UwKwjfpZcEXNKS+5xw\r\nKh/w0qDC3n3CZbxIL/9y+lnlqGQJu27b+MXgeJi8mn6dQixJrWjYHymR9IzF\r\njgwg+nZ95R9fY+FYyc19cCsmexym3ZQvpm93uyvb1sf6lldMPsnGUUxCwYuh\r\nwUm4f7PnvUt3C2zwPdDghqRbhekOHx4H6VqbiFwxuMM3LswnpWf8drXG0UIe\r\nPIAYnRoCEhma3lfF0LwGstrmYYLBuYp3nhsS8scUBQHpD7YQKpjZIWmUcSLj\r\nix9bMlLPXNruYlXGLwF9z8AMqtxgCuwFzZ0=\r\n=wu2Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.18.0","roosterjs-editor-types":"8.18.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.18.0_1647572060221_0.9373322670633375","host":"s3://npm-registry-packages"}},"8.18.0-dev.0":{"name":"roosterjs-editor-api","version":"8.18.0-dev.0","license":"MIT","_id":"roosterjs-editor-api@8.18.0-dev.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"97986dedf0957d0d3a7f2b804fa628097d8d0206","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.18.0-dev.0.tgz","fileCount":328,"integrity":"sha512-/A8+6AyznevcgTLqP3WOeT7X8dbhXqOjqqGASrW0bLO01RrCjFutFur33l8dPgsrVdo3Zc54xFnfAr1kwZZyAg==","signatures":[{"sig":"MEUCIQD5WGm9w8bN3Ejv8mfCRb2X9K2TP0JV38xs8jQQ+N4lBgIgURgt/1WjO//Hi3uiOY2047EmQ89e+AT0+jcuFagyBTU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":723087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPMPEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGLQ//cythIp1TaNGlxgyNyVfaR3PQHRRai+cB6pnol6ua+OUJ3J/p\r\nsdcGojI4TOeCvX/yy0GqaDYvKVGiPLJzFaiKnZcuN1WQ9o3tySc120taJLJW\r\nw6zR5PWHw6sS1d2942LpV86LuWRCsNA8VSxSlxGDewvpGCNoWnik1JPmpA5t\r\nf0e5APIAqmn4QB9yI/8MaIPt6GxhuOr+DrsFztzDBwVyz32zBvl9gA7/UM5Z\r\nrYmvjVOwCI4Rp0KBEygAaaVditQVJKGO3siNIAMCvtECjo2JgwtdFTTKPhj5\r\nNRBFHk7kEBklUK+3iUOPZXe3EA2wBTbQQ0UwY1s5F1OVf5cBL9vg0n0cyeoh\r\npSks2NtUFPw6W0TKV84e2ZXw9rQeNTMDSvhjCyoe6KZo7gZgQCncAZnx5qdX\r\nMLCxkfwUCWTBgS5A9uJiOMIEQm2ErXZXlGLwtiGMnbXS32vJhlvcIINpUVih\r\nAZ8BsV9TCO8RgiqmIk14M9d1Dwj/UGtKutAZfBxOQ5Z718w228WOfUvl0G/X\r\n8zXg7oGP4vY6AYQOApkMMp19iSj/H0WaH1yHw9uhD4VdaKa3hnfnbR0Y6hjx\r\nYTdeYLY99eCoaYkUYaCA5yy+Xa6Wc8SbI/AxLfAn12jtaY6UWD6dhNU8Xgog\r\noj+jlh2atKX0xPDCI3v8r7vz0jQP6lqsZRU=\r\n=Biqp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"3f39bb7efa43d25616fa5b4577223d1537fe8390","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.18.0-dev.0","roosterjs-editor-types":"8.18.0-dev.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.18.0-dev.0_1648149444698_0.3663592079217215","host":"s3://npm-registry-packages"}},"8.19.0":{"name":"roosterjs-editor-api","version":"8.19.0","license":"MIT","_id":"roosterjs-editor-api@8.19.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a10c7cbb60185d72425d4d92c0ebd7f8ae18857d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.19.0.tgz","fileCount":328,"integrity":"sha512-Rut+oxRpZAQfWTUjuQL+CBG6N/wUceWwtrNPzq/NOBzIH/Gkz1hkwhPPD89UrmD2X1ykGKXJw3Ni8wYDtny6Dw==","signatures":[{"sig":"MEUCIFDxLkcJtz9LcSAwXErKy1tIdPSGYIPFiUIm6qid42sjAiEAoPQIUSA9RLSK7B1QiSUKmx+fShk2zjvt/EhqTLanCDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":725658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiR0WsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2Wg/+P61dodnym9rZmn4HCC40Y7xduMZ2ztTaxWmMXgYqauWkBLHW\r\nHPFsycxI56EjbtL6DMrVfDuetm4XgCwh/HBEQZ4rYe3TFx52puzLiSLmUtOu\r\n3TfKfPmIk6sB5wHHhZICKrRLN4178r7BeOyFexLTVRdIJ5QDIgVdZiAOX963\r\ngDQeAVqht4Gk3SkIXu1v5gz/vAQPHQO0UFqojHArCX+neEY0pfGPY7aoOsrd\r\nmsxyx950QWxk3l8EEWu76xqMDRWpIqkG7YRZIrX86rhJG6hIV39aBcunAsj4\r\n8mf+6WbJCOQT8YduYiqoUZaQXbuwt3eQ8vg11PDk3qLtKG1D/iR3Yo60siYR\r\nk8Zn+wRyQTZ9oe+wHp+VbyhHk34ntpjugGBWDyB68FXK2RwyDY36NaXfOO6R\r\n3m6AbsZ2IkYDQTPc0Fnn3XwWvgXSngQG0iDyMPajFQDfv/IyMOvbqot+pWnm\r\niRjWbRQlANRLOiOSi4lMug57F3STKfqGi3EiLqBmd8nHNzknxKqHgvyJKvAZ\r\nI6YlQ8J7ziaqGM6i+mJ/UJx6+EvzHjRqbbaxyZgRL/vA59tRDDlSvSkDz/Hz\r\n7Ji+TS8D9araJ0ypNfjXhWpZkSkYcyqKPgUX47aNPL0DyItxFkL4uoENedL+\r\nnuoD6O+Fps1iTjyKvHk7yMU0hAdlFtc7Cd4=\r\n=ATDs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.19.0","roosterjs-editor-types":"8.19.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.19.0_1648838060207_0.4560914699407712","host":"s3://npm-registry-packages"}},"8.19.1":{"name":"roosterjs-editor-api","version":"8.19.1","license":"MIT","_id":"roosterjs-editor-api@8.19.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"384d2077148a19539834eb3db7257f6c6964cc1a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.19.1.tgz","fileCount":328,"integrity":"sha512-0tH6+wZl+ZVrcHcMmDivF/Ro+rbU+T0B6fk9T5QZ6RboGQApRgYPtFxxcsionmN9PUWe5retdOcTsgO96IRgFw==","signatures":[{"sig":"MEQCIDSC004qjAYqxTTz7MtkxmhPAv12go5KMgORAcLNqTftAiAEp++DqeTRXcCZPabvcBUK3z0Ek0L15fLRBhtGZFCY2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":725632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTcs1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqotQ/8CJ0XLdt0w+XI2LVH97DvhyDMJZ20pBx+F7vieizRCfBWx6o7\r\nMjE/rMtGKNxlx+/nhGT2CDGkqukXpXxSQdnujwccAO7a2Na0pDQLZsbnVvrW\r\nKAHcprV0VteH3AazXWrBCMpBTae3fJnx4dVALlowpNxU7EWU0C3daH5fnGnE\r\n+LQD4mLENMDiKT0bIXNjZbdqlFb4y5/pwTBGhCArMSswuywqP3ix/6YRq32m\r\nZaiLBj7NTET48cYAdlPFOFiecEPVrWXBnOUzmpbfi94Nf5BLROvtQ29P7VFV\r\ngtW5egh0DJQjk5+DIVTEONXKozYIMTieFep3UpL6uIkcH8bNkQE/XW2/RDRL\r\n1Xuy18pD4XL1QndpLqenyHIiE6mF5hq/JiwY7btCuWXnB/PgdS3N6QhoRzUR\r\nPaIe8ZtFbGOxmG6GeMD3soRKL6xHzZXYr+oyHABJnJxsB1go5/1Z/m2cuH7Y\r\nolJDxETk7RUCjQMxCUbml2C+JHciR6O1tQtcibnDTFDT6md4B04nd1nIzW0I\r\nnZjy6qFjUK/wSdhAMAsMkKrvwgt3dvK05K9X7Er1omxsNq2AOlB7sNLI6fdV\r\nQVqTaCLOdtYMtpri6rLma93EBpxDpRMuC0SHEBku5XR9KYTEPfiKNQLWgVdl\r\nExucyqmq/nd1kZs0eW8v2rNmkmlHeae1B/g=\r\n=GV1c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.19.1","roosterjs-editor-types":"8.19.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.19.1_1649265461377_0.8623865267619426","host":"s3://npm-registry-packages"}},"8.19.2":{"name":"roosterjs-editor-api","version":"8.19.2","license":"MIT","_id":"roosterjs-editor-api@8.19.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"05809c2186c365c41b4d0a1760fe6f79d5667dd9","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.19.2.tgz","fileCount":328,"integrity":"sha512-7rijaaMnlRLZWQ1/S/pUD1cjkGA5yLg4CJZhQ5WiZ2C/CcLXCUWrnwuBWry5l+skzLyP3OOqlnXoH83d1r56jA==","signatures":[{"sig":"MEYCIQCzONbDDZJkQ2lxV8oFiNG4HEgdRo4dLAKcMPYZQ9fMJgIhAKSulLUO41o+4P30KBsFRwQXSZ5NijiXpjuCyMZTVjPs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":725632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTf/WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrl8g/+I46fDEEisJGmV2jI+FhSs2wFeM5CTbNO50tLAyXX+UdFsOc2\r\nyG8fF+Lh2d+Xmpt7ybLHXKi9NHnBxBA1q3EpsGjDNPuKz29gZlySJ5f0JMHg\r\nNOHm91jFT9+RB3cZmnQKJrqA6rrTlgg/SHkHJjnMuebR9zB1pwqQpAKEGyiX\r\njDtFIB86/sQF3qLLNPQ9vay+4tm32ianCbaHTdzFUQz3l+wLu8HWEehdMrjS\r\nWjNYTGSRMnnQwU2xKDHZU9yEZJ18ZYDE79qq9TRvM74s/dasndf4FBKghi1N\r\n6l12SayYEy9uNY7xtrfd4rZzZ5P+9fcMUkXmOL1Rhm/sDWUVqv6P2xuTvML7\r\nDhzzAaC/OW0jm3gGZpz87TDtP/Si1HD+oGz5ke5uJyECa8aGAOtaNmFXyTz+\r\n/n+2jsWxMJB8Wq7fqYjKBT1f3h6pjs+zPjZbN3IszuUx90bbua/eo3b9bEpF\r\nDL6JMoSfZ/nBj1zlh5+7s6pZwMHkjmI6cF+3zt44K3TyMAN0LRbudWQkFCBV\r\n+mY/Wu6IBQOjCmalcwQ1fNAxlkqiOBoWCnRJbE14pX8v19Le/wL8vX4fr+qc\r\n+B/x/dTXicmSjM8uehFaT7tpXK3RJ24arKWM9yYUa9INKXubZMQ010iGqPax\r\n35e3GBZOOEUAqPLQkvNouTsEN9hdN7HAYuo=\r\n=TUfi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.19.2","roosterjs-editor-types":"8.19.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.19.2_1649278934220_0.2447871760285849","host":"s3://npm-registry-packages"}},"8.19.3":{"name":"roosterjs-editor-api","version":"8.19.3","license":"MIT","_id":"roosterjs-editor-api@8.19.3","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ac11ea68f21e81493d7c98c7365625d2abeb8dfc","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.19.3.tgz","fileCount":328,"integrity":"sha512-mOMWP5Z2zHAN5tXN9wjVyCuFR1CtoxwJyfVc/2iA72mv0BhSBRd2RQKlFX9aMRN27T5ogauhwh6JIfbbiwvngQ==","signatures":[{"sig":"MEYCIQCvfLVpWquZDhqnc6bc8pLQOtISuEpFD6mVTzWfeujy0gIhAN5VtsriX1V4w/MkcNp3SZY7wxiMcgftamzuvAxfWGCo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":724229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiT3diACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwWA//deeuNgaoXROt4QMwmDlllv3HtIWWkuR/oliVYu0E0dehjGXv\r\ndrP9Br10JUfwHu3y+5s/oI0eGoUWSXIWxssk5ES4eZ1NV/NnD5Zw2L+iOeHJ\r\nbJGrNY2Mqidt+w6NlqYfalV5L3szSnohoatMZcSKSHYjNHy1G7sffsJw0SCA\r\nG+X57KSHQuVR1MdXuXP//9ElIoFfdquch56N0PBQ4ZGrksQA9Tbu2BdFQ4eI\r\nKjxI9toO4gRTsJ/0IOXogsg79rgjahyuC2hi1wgkBVRnfCFCXByzxgqFWzLK\r\nb8AYlyTY6FyKhJtf4ZYHEbiZKoOslPmUt2IUqGnvxgA2iG486Go4wmOoEhHW\r\nPLai4d0/RftqYZI1ATrzjBmJjGXRv1cqg5U01eOpMlDUsGpzj+rfLayNzrYf\r\n4wGD0QZF/frcUAhRtXl0Rt97nJaUbKKs/pfu5Tg1/SISd62QhFbS0SFICHV1\r\nhWp6XWD4gLxIE8x3ADf6P867glqzgfwLddo5iq+bL7LvAjMFfcyto2qiooY1\r\nFnxQMuPcOmHAFR16Xundg/PnRWNNf8yuurHHHoy3L4KzRYoaH2lnApOY0n+B\r\ncbShZt3rJBLMvEYBa+Aj+SNnB2MrI79EOMQIYgmUuJ7nDhqjwyDxFSzctIXX\r\nmoJboBWyG5VT7DWy30GWwiAZVI38EBDGnow=\r\n=Kari\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.19.3","roosterjs-editor-types":"8.19.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.19.3_1649375074102_0.2569420723105815","host":"s3://npm-registry-packages"}},"8.19.3-dev.1":{"name":"roosterjs-editor-api","version":"8.19.3-dev.1","license":"MIT","_id":"roosterjs-editor-api@8.19.3-dev.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"8f735acb7da3dbb8d7d2576ae5c51332d5e8cc40","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.19.3-dev.1.tgz","fileCount":328,"integrity":"sha512-SUvjhoLWLp/mb/WnzxS3env9Fb3z7mnsuGOWxK9qtenyhr9RfCCXYprc1yX2QKJ2qa0/FIhmmDv50R+IzVQ7bQ==","signatures":[{"sig":"MEQCIAOn9Z3iI7AnRLaKGqZ1scvUO9IpRhvEfeFGVjFURz/qAiBfUznRTHNIo7zN8WNBbTcbpP2TVQXY/PUSvV5HQlhbzQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":747525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWIVjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpxtg//YpW+m+AIdZ9LLwcu5QlPa6cAeZRsKjjLX4fK6KTvk3xbzHhG\r\nyBexLJzadleDnJ+Oem/pOosBE+bN/1ki6x03+vZVogyLCBFgr/4rtdlzOD0C\r\nzz5f8GjDk0ZG17feQDyvrwtEcr7639grNYZJuj1MG2dLEsX7xhYSiSNYu6Th\r\nxtJ9JzoR/+LkEEgW7YKC6qnGkqVn9OfJQMdxIvpwZzvJRaOofmgW6rA+OkFf\r\nff+1syDIXUWa4w3JFMGfPDxzINET5ekG+42oF4VVs6EzENlOci+Y3OrWrehL\r\nRTbmRz1xRVrIUNoAzIad+EMOAGv2sv2OgAYUI/0Xr7xtue+d8QXwGr2SSLhF\r\n+KIBjqTNCCyd3gmbE1QQg4JUOym7HOdPfy9CbLdMW9FpkhD1ITyYLKNXwkc+\r\nlU8XraQNTFMHx2Tg5YdX+AyufqMu0rByj+l2LBFBbh37Vl6ju2IaHpxkgJoB\r\nAYXLk4+HbClwvXQqg3iPG9HGv8y2jeXbHjlaygdzk2AMXyoaX+AQTX9o4Rm6\r\n/y16dOBjk+SMVUy2uupa4giBqz9dLuuDn5u9qP48a3aLGrIsGsuRXw2ELnsB\r\nIL3QGngf+bYkseubuVyfoAi4sM06ExP2t23xNiYys5th0YvCFjp59M6sCr3V\r\nMJbhYnIWb5fVkPdBWpe7Tx+nGMZe1tmtHAo=\r\n=DKcB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"08f4c56828e76b8cb0983422d11e275bac2a0346","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.19.3-dev.1","roosterjs-editor-types":"8.19.3-dev.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.19.3-dev.1_1649968482844_0.48317873582964266","host":"s3://npm-registry-packages"}},"8.19.3-size-optimized.0":{"name":"roosterjs-editor-api","version":"8.19.3-size-optimized.0","license":"MIT","_id":"roosterjs-editor-api@8.19.3-size-optimized.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"34057f9e2552edb56ef16512c71d063d0babb39f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.19.3-size-optimized.0.tgz","fileCount":328,"integrity":"sha512-VlBvI/uDgQ3BLFXLcjlIqsyx6nWv+auvq3ILqXOUSgKWRe5hb8IuI8Vkq0pHf2ciLBI9oqnw0kpcltIJrkPE0Q==","signatures":[{"sig":"MEUCIQD2ur+uEKzNoQawkwr3b9g4yPfA+vrKMODVVnXGD7KkzwIgdOY6VtZl70/XxWkbwNgXJQNfV/tmCeNOt06nDXbFVys=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":724280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXzn/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCQA//coXIiLkg4sq5PbnMRErUXZ5WMjSTEqckNlzDMm8zn1H9uTG+\r\n95Dy7kZYEZSATKmknrIkCDGFsnbcuobvA6WjUAq22V2ZkxwPyjMhCuhYDSp8\r\ne4c/ldfBWl5C2w631RBLS8imKkiYk06fxReC4BkNvuTWtl+j5YcJupygh1rS\r\nJnytsLulGMecZUA6PLVyE86guW9d2rpUvT+BLbOtegf4SBrBAyYHqhSJNsmI\r\nRSeQ9piDoClGdibDPX3l9vnKLJ1xXw6MI1DmX9BI4NLnZvKFNdJjbkNm/YZO\r\neEKnKPd3sRGyKx7X96pxdSMpOYnemBSzwJu+cs87TNC8JjNSayqvEEAz9hnx\r\nz/MRycgnuzvpguPBNMk0b0TgKdUkk/b1Zfjs+ybzC2x86+iVVfcCiDD+I3xB\r\nwN1f0JwREr17KQgQr3ZvZKCfbQAX5EVkSRomiTANKk7QtG585HBQ0P+KhtQJ\r\nAYltQrYz7fh8ChHBdCK4hOUMS1kEBsFufhw5XhrfjkhECeI5ERzhFsu9YYv5\r\nglR8mDeSyUrA35AkiVAkfr33US39BMBUcH8mrK6DjF7RQl4MWacnmmw53/lW\r\nRBJJjH2572+k9jc78Z9KCkeor/57Rr3zxHdaxlFGqh4sDps1eC/Ezc39yicz\r\n1hGMZbKf48jGvkAwVU2te5cpBWsvZtL4Jf8=\r\n=rsKQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.19.3-size-optimized.0","roosterjs-editor-types":"8.19.3-size-optimized.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.19.3-size-optimized.0_1650407935325_0.7531139010025358","host":"s3://npm-registry-packages"}},"8.20.0-size-optimized.0":{"name":"roosterjs-editor-api","version":"8.20.0-size-optimized.0","license":"MIT","_id":"roosterjs-editor-api@8.20.0-size-optimized.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bad0bf2256ce0024329e11a79c9582ca44e1608f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.20.0-size-optimized.0.tgz","fileCount":328,"integrity":"sha512-YVQMthlzrW9xXyWvmIkpnlSqqKfW58Cit7EpbEqPuQvQkHDuiFgEplN6YkysrB5bwFQelUuRjpOfM2UjdHnpOQ==","signatures":[{"sig":"MEUCIFZrwAOBsCKTibBSqwa/PXBb699oknU/DPr+y/7b6FXPAiEAkljqD1r0/9zIQ0PuR6Yv+pRdlW/bsONp+m35YWGFnnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":724280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYex1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpweBAAleXi/dPh+L8/QKvh1ndhTQdPsqyRYsYyPirtNOBe8fGZ4w1w\r\nzR79BE/41jwrOsaTdXLoGczeag89MV7pJ5zGKLSN4VziFdFoxrekXw0nKEKy\r\nEkEAOWrzZYTsP5iAKWc+TaV7tAeeds0jC6XgitwOovnXw7JS+8WpHBGoAP0e\r\nWEX+ZsfN17ckYrPgFsCwBl9GjQAqxHFiAxDsg8UYDvW+WZ6vxKY6xACqeAJU\r\nAYJNOLjCEhRHC0uiK06nTNKDeW9bRgZUO34bE3tdoi7VmGtEws9FwGZjla6M\r\nCh5agdR/LYBi6yFH+1+kgVkQ3kenNbFbnoMOIHuYDbceXhVY6EZnNVgWSXM9\r\ny4/gu11u63QmWd3h8L/sH21QxT9qJzn7XwDluJt1BTVklZPNglhlhHk7/uT0\r\nUHWFYTuS/5SipDLtHq0X1668o8K6kdUuEvgvncadviEnS4WOO7T/6rBKcSlP\r\nB/eOvGF/ywVflZkxd7NNU2LeHEq2A8Q230JQX2IWy46EeORGJb10TgT7As8h\r\n/4Cr0/xMnu0rkRZpCRFfloMYBYT9CX3v/NpEzTWONOBI81LFyDCt7QfTSC/1\r\n6qsVppJlucQxqYxXn3qrIn6tpHnyEXed9v+ybYz+wb4Fe6m9CPUc4aXKldJM\r\nuMO716MY3s7iwuRImVFWoV7GtehYMrFs5fE=\r\n=Ey4B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.20.0-size-optimized.0","roosterjs-editor-types":"8.20.0-size-optimized.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.20.0-size-optimized.0_1650584692937_0.7769608766226539","host":"s3://npm-registry-packages"}},"8.20.0":{"name":"roosterjs-editor-api","version":"8.20.0","license":"MIT","_id":"roosterjs-editor-api@8.20.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"1f02f46f96fd989ea51e6be313e5b8595fa563b6","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.20.0.tgz","fileCount":328,"integrity":"sha512-nnOzQpFiquqyP0rEL8Bs6+2N/etDxacTt/wt+V01SZAfDVuiCuvj6KzkrORIDdZarWDaRdK1uHdThanYPDYigQ==","signatures":[{"sig":"MEUCIQDoMVLHzdOWN3Fkcw7A/+tjo+lJnOWdyJV3Zm9x+0NPwQIgVRWzhEoTOF6S69SSG8oJiPNcntNNvAWsUV48oAfPylo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":740481,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYezPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmom4g//ZJvIfmzTVsi9g6v0p3FrdXn1jkVkq4U2/bXZGMFcsaCRb+7t\r\nJ4L7bFXVUSuPRrKk9Btu/ELccE5hVn0zZSl31VTOE23/TfXeniv/lYLoXt2a\r\n1xXr1oaa6iMyWO8k1bbnkb0FDtU7TfzpfqREDhbwGTp32cQ5Y3tfuP1XtbkW\r\nLJBJwLVDzZSalZpG0RVVZ7sgZeCg5ipjwSzkmhUfwZM41wrFyXJcw26MyhCK\r\nVi3DK/91HyXC9Zmu5SEIyWWMeOlPg7byrVh5thFI08DQC4HRFsjtI+mZ8b0Y\r\njkPsUtD2T71plsP6P/D7f0zyUy4QO82TpFUFGVOlCzXfyTfs01uRe4ZtHY99\r\nQ9CcQp6ey67k0YJ1rR8Jgpc0N3Dyu8Cvz2W4z0f7e5eOnkddp6KlGo1XvjHU\r\ntjhoBeHNsPpbDTWahx+V8QLu2u/M/n+VM5COjGejp1Y5eOZdb7RDWMk0j1qG\r\n6E1jwhTitlAiuCV7uDcRDZDxMfTpo8JDpTKfC3J7ryhZtvW3/QgJZI6cHN1h\r\nV3D9mzxPtf3j1OCh7UnP0diD/AcMy3ldOd4uZ8M7SIcvaQyjtMMD8B+Uv9sE\r\nvti7ABO9RuLQ4sPA9XS0CjsCr1l+rfReJPv38ynYHH178FrEvcfzJ1D5HKRL\r\nelXbZ1pjC7eVMRoYcFZsloRtYiIDZAwTdLE=\r\n=qTaO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.20.0","roosterjs-editor-types":"8.20.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.20.0_1650584783181_0.8905500161777697","host":"s3://npm-registry-packages"}},"8.20.0-dev.1":{"name":"roosterjs-editor-api","version":"8.20.0-dev.1","license":"MIT","_id":"roosterjs-editor-api@8.20.0-dev.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9a47ee7d5d6cd3011d29abf693fc20cff84635f7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.20.0-dev.1.tgz","fileCount":328,"integrity":"sha512-/g6YXRyE+UTHM421JDuusO0XPBxRMt1oJdSPuXFbL/KOAeo1AMAOT+Q5j6Gxi/mI+U+WLm0eF4qzVpLBK07zsw==","signatures":[{"sig":"MEUCIFoMv8aiCAOzkZz4jRRXdLTbcPXz6SxFUBJXkRG+gixlAiEA43gjQgZLJkY+ASpwhk32g321Ts0L6VmYWolXljfC0t0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":747526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaZhSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojshAAoigy6tRh0W336NHKHZq2Um3RQDDIA4A3Kp/ZronPqsFuWn04\r\neJKWzVosCNEphBnFfxSI0vdpcWqubOS8AGz6jxDp/JtGTFLeKDB4EHEx+NLa\r\n2D8BEHpRkcJrjmNliv9h103ayeMs+oetFt0l2Tzfn42QFBTVgCZWHmgiUVHI\r\nrruHER6IcpnBPjIcNt8yMnNq+P0KyyjLHQwk1dEUJUxQ8fg6mTsh5JXJqZi4\r\np1DTaRTQH48G13Fdr6lA0ARn968F+XjoPbiAHZBJh6bFP8PeNMJ1yrC3RJta\r\nlRtod+Vu5iYT7v3oLV9zfnLXg4VUjU5LN4s0R5ffk80RjvM5GQCZas0SI+K5\r\nSAMgRdTLkRsty3sCDZeeMwIXHoSamG9+QIHj8+6SLcaUNIpK67gw0MnAKzdi\r\nSP1Ngi9wpg9IfrofZgRisoVKYrw4oqm88Ac5DoG5TOJI9JegTfqS5O5Lag4R\r\nDX1IreYjnqExcwn4c0kwmUto62b1Q87E/fpEK1N60rlPn1bg0pSz6ZQeUWCm\r\nQqQarDpX4IM6v1LQJFPBLWm/GJL8gFYfoFosaWUA5MH8WD7hbA8pARcLs+kr\r\njvEh2uhszAxXkzc8ndSpP7ZDxFka0ULbTWAgVQMOjkdIlaagZK8mjsv/LDFL\r\ny6LSwkicHsUnmUSk+9sS57UgU0W6jlb05bA=\r\n=H6rV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"304e59b2d7eb7ad4bb64a847be6ef38269448711","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.20.0-dev.1","roosterjs-editor-types":"8.20.0-dev.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.20.0-dev.1_1651087441910_0.7562280243664798","host":"s3://npm-registry-packages"}},"8.21.0":{"name":"roosterjs-editor-api","version":"8.21.0","license":"MIT","_id":"roosterjs-editor-api@8.21.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"904160c22bfb23bb523f9ccefcc631c5f043f6a1","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.21.0.tgz","fileCount":460,"integrity":"sha512-5O1zvpSv4qS+7IoHXzLoId7sxzd/z+dZfWLRG+E1rs1AV4M4d636YsvV4c9P8X4hnorZo3P9MSeMllUi1RuXJA==","signatures":[{"sig":"MEUCIQCad4M0SQ+HcL39Vz/irlCvjEZMGS5/8F0HXp03q43jtwIgdzdv7Tai2TTdv6EU3n3Kc1eohrdXIVdpsh3Ih6YD7Zs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":982132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiawrLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrmShAAiPHtjeQElEGUV7BA3ZyjIiaCKK23HezGIIjMzPi8O/Tdkunk\r\n/pNm6rIpdribufns0ejVd/tqOyNXE+tmAGJ7wTmaYrHWgMcCgYpDbqYBiSrD\r\nhC+kMjgVxMGajWbq1h4kgU1Eri65U9Lp1C8uePKE1fbsS8iZN9p5Ect4GoWX\r\nbSTy5CG9w0H/r2AFTvY4z1+ItNUoFrAvYhemtHbGPEUAf+cI7YxSaVc+ad5i\r\n9ynPiDFHJfpUBL9rji7jsEL4fWl+ViTjn8czPFz1Szxa6E6NMrX3B6/rRbjn\r\nl2YWWvWzMKibByRxVw6K8sWx2q0utgOBqtMulvSu9WAZ0AnOT2YPc+aEsjWo\r\nYX9VIOMyhfT2d3EfaiGk5aLeKN5rBXb1SY0elHeVrsjWCpzdgAMrr4OAu6il\r\nW0lhaw9U5V3KNrqQsRe0kOxbVuA/II6FbSIV43tze5mPgP2QSncI4O93jWWR\r\n7LK5R3SPRr2c2Xl5ashfJya7bTbZ2+hsc9bLNJ5qbeAOqKi3Hb00QFfKgvKM\r\nhEvSxQHKpUA2k4NgNReC3UYLe3EdqeGbQtmLgfqGHMBjgatO0+Z71ax2aUDz\r\nI3UAeZRWr16RoU+3MHRz9Gqxg3ro6GlhLdGBv3Ss1iYdnExGh+8xLCO4iJE+\r\nRrvFh30hbQdQji57OSKq1EIdnBRLkIt+5hg=\r\n=83eW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","exports":{".":{"default":["./lib/index.ts","./lib/index.js"],"roosterConstEnum":["./lib-const-enum/index.ts","./lib-const-enum/index.js"]}},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.21.0","roosterjs-editor-types":"8.21.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.21.0_1651182283474_0.8610163216063218","host":"s3://npm-registry-packages"}},"8.21.0-dev.1":{"name":"roosterjs-editor-api","version":"8.21.0-dev.1","license":"MIT","_id":"roosterjs-editor-api@8.21.0-dev.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"79db1d6314a91de1d0cd8d0eeec3bbc115f0e7cc","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.21.0-dev.1.tgz","fileCount":460,"integrity":"sha512-IPsO92gLspiUEixbSHMZNfJQwCCy/93g+qDRwfCRJF8vDIwbVvzg9fELSux/Q8CY+EbeoHdUx91Bkz27lAMjxA==","signatures":[{"sig":"MEQCICrWmdrl0aFrcGCTzrYVGrJzE9C4P9LNabIk7yu5X8XpAiBtD/KY853E+W9Bdeh+do4xrfYmiuanrPllf8K0pKgiRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":992250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia12sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEQA/+PA5GXddYaKzcDX2CBHkMxFpkKUOmo/u/NYcYCZ9hRMUe9SKA\r\nk+IRFivIM/HNSRuE5JkN9CLWb/ov/89WkfkBIhkrocIwCaOImMpsHLysDkii\r\noibGH92Wxkb81ixhUbvyVgi+bnC2BKIF8W8hG/DklR8Ng1hbEIQz8Jlz5HrA\r\n3IXSA1kBRL2fqsYsYPrT1rev2I5uqMgNZXkOQz90N3WUG1VU3WXoWrUjHLub\r\nhlLOXyMwrB+pHwJxkvIbL99jsqCUuFPUj+ECxNo9zo6R1JyOJZ4FaTQxxeZh\r\nvNLKiflOMYEKgA/tcWZ6O5BGJwKC+AqGtGHKl5fPJjfBziGJxEz3wGeAgkD+\r\nukqc64IE+frglvSdKy8PIhzAJqgd/PhioW0/bkHfDaITbT5Q2F57DCAMAkOf\r\nqRSTRTzqd3a7KjH5cMV+J2oLiUZ7RywdZOevrzYoh5lA85nFt/gbuYi653ts\r\nkgD2+kGqYWdwI3dkVoKWTJmcwCkjRBZGkfhiAVV5KlJnjtszoNEjDTlTi8F0\r\n8M+lVpnWhDffg0LS9KfT0d+G//ukW5u38s/JpCF7LqzbC844L64Ka9PiGTmP\r\ndQZh7knUR2ITmEfy98fKCnQsoZtSxrRz80PdG1mEnmgukVqn9GyXsp7fsh4b\r\nZ/TtSeN8rURTEk1ILd8CWU57ey3onAfdpb4=\r\n=vu3/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","exports":{".":{"default":["./lib/index.ts","./lib/index.js"],"roosterConstEnum":["./lib-const-enum/index.ts","./lib-const-enum/index.js"]}},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.16","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.21.0-dev.1","roosterjs-editor-types":"8.21.0-dev.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.21.0-dev.1_1651203500820_0.6100786458829861","host":"s3://npm-registry-packages"}},"8.21.0-dev.2":{"name":"roosterjs-editor-api","version":"8.21.0-dev.2","license":"MIT","_id":"roosterjs-editor-api@8.21.0-dev.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fb55eed8604d8f08c139a59136bcb240b9583272","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.21.0-dev.2.tgz","fileCount":460,"integrity":"sha512-tiC1k3K+kdmOq2GNNWpqiT9xLk8sCEtRVmjprGazOIu09YBGB1Pt6CPQczVPynnxIQH/1f1NPPPpkYUd1fVHLg==","signatures":[{"sig":"MEYCIQCeDEyd4lInnFjAmzKJPaJNDQ0EyLieQVVKF95HpJNxXwIhAMix3+0Aw2kaobHWNgiZy6x24VoU1mUr0dc40Rs9b2XO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":992264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia34+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSWw/+Klw5E5P1m68mh7lBaNpBrrvF/DnwrYpHjCA3NXwsRcvwCsN8\r\n0iriVkRWsJfeXBtmMzDGoqeXnTgE4W1cSRhV0zo80zG1bXcYWkgqIwTCtGsE\r\nY73RmvpWGTTgsjE+QckbL5PT/ssDjGBl4/MwqBYpASXTw6cEFftgER+RYHaS\r\nFXbi/GoTWQFVj+gQpW+q3hWZA2YLF9EgbujahkDSDsdOghgnIiXbCHsA4oPc\r\nfiyGlPs2rOxHhwKIPoGXaPRCfeDPlPmwOwVsVlgqAtkSYg4w/ZzTC73J4Dq1\r\naFIBeQCos4uV92o5BBFselAsaHd4QRnpvcbvLTBNJClxB+ayXxKc8vTUi8TT\r\ntSkcLBfOLm4IgNV3dC5Z0Scji5yLdHAGPOARIkKPqUzIcad3LIgApwjqNiAW\r\njOy9mwlSLSIHA74yRSHN/omPsZUZOaEvWqJLf47iP3zvLf24TGr9htul0EZb\r\ng4O/PU54QJo/ln0CTRRLic8v36M/DzHvMDNj1/zIY+KeXeaWpnTKADSHfEP6\r\n4P/FT2z237hbyv1pPPum5puUKXjeKwYYjb++ailVJHIeFJovVex9oNqvrmlE\r\n5FEqmBh5jzo+1gHCyUMq58+p2JactkypIYluu3ZXtt7KsyJbOjd8g6UZDGTb\r\np5i+kFh9aCaUY1yWyuURox7ux1+7I6ypRNc=\r\n=5+zN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib-commonjs/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","exports":{".":{"default":["./lib-commonjs/index.ts","./lib-commonjs/index.js"],"roosterConstEnum":["./lib/index.ts","./lib/index.js"]}},"typings":"./lib-commonjs/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.16","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.21.0-dev.2","roosterjs-editor-types":"8.21.0-dev.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.21.0-dev.2_1651211838243_0.6177257198271946","host":"s3://npm-registry-packages"}},"8.21.1":{"name":"roosterjs-editor-api","version":"8.21.1","license":"MIT","_id":"roosterjs-editor-api@8.21.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e393bcefd3d8f14eb524cf142ba4797ffb02d1c7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.21.1.tgz","fileCount":460,"integrity":"sha512-ZGeFOL42+UHM6fbjq8JSxvbuuVS+XbvFXT+1V55hv24pljzy/wS2C3z/7XAGT/hmtQZDYkd4mmw+YFFqSPTP2Q==","signatures":[{"sig":"MEUCIBlhoJYJjVUaxAasYG+HnQrVzcw0ZDa4XU2VecrwPg6GAiEA9QAANhT3n2KEXcDf82qU9hVWYN9lpCzyW2tnl5dvuBg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":982132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibHj2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr33w/+P0U9LqvildbuvAqOLL5SLjv12iIsloD+b/12gZjrcb9Ih0rB\r\no/PKpu3ppNWuoVX7WxHFXuhGbc0Es+EzV/3qp2zEZ18e57KX1uMwDnZUz4aU\r\njxWCl2kz6mYdj664adwS6w5Vcf8a38OT/8XVbFpmBc1O0BaR1JzsHkc0LWyF\r\nKVEDiXT/18UqMZY2l/MY5I6Z10o0aracocSoBPD+XD9Skt3XfL0QTeAJ5j1q\r\nTSIDPeSELVdna2Tbm14sf+Sye6OMbKtl3XdXT/Rb/CVyPxS10SgNHJuSgLNy\r\nH1jAHTXtOcsS3apBIn9VhqDh2eqEfH32RzluSeZRlmRfuP7mdyfkuxE+WGHU\r\ntYXN4dK8PmEHFfuxbtSk5gB5O1H3ou7KcY79jD5OQCmZiMA0xardvghvRsc5\r\nC6j+Tln5hidk2z1qfCQt3ZL5L30hFTEL4uN/MqhT4auljjCaM5SSYjzXcxmZ\r\negvKgNRzZLA70+Y5XX2SH51qX+An0C2Y1aFcPopmNJi6qQtZRESxpINp1t7i\r\nLEhy8u8LZnuWRQTakN6sqvM1AV+6LrijT+cST7zZ0uYhoe7AmP3w5RPLkrjP\r\nTTbZtG2QjIrnwHyGElmraIDKZn44R70iWnzqt8pAMYmA6eSbP+ZnlyZqsSq2\r\nKJDktfxfD5AoEGvzJZJgMXgYOJHU1xIeqdc=\r\n=k0hE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","exports":{".":{"default":["./lib/index.ts","./lib/index.js"],"roosterConstEnum":["./lib-const-enum/index.ts","./lib-const-enum/index.js"]}},"typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.21.1","roosterjs-editor-types":"8.21.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.21.1_1651276022139_0.5528808513880445","host":"s3://npm-registry-packages"}},"8.21.1-dev.1":{"name":"roosterjs-editor-api","version":"8.21.1-dev.1","license":"MIT","_id":"roosterjs-editor-api@8.21.1-dev.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"ef055829b3bcce068f5fde10d0d0c6ba58466350","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.21.1-dev.1.tgz","fileCount":460,"integrity":"sha512-TkUq3sWHPjBx8I2yKhEhnCdwDTSlw6gQlrn/g+RndEJ4D374NbUq9h9PoJme6lMMhw/TYZnj9FjAYqL1w7zJBA==","signatures":[{"sig":"MEUCIQDjID4nIf7g7qQWx7Xqog45JpYsUPqUOmSa7rCibAacqQIgG0I8xOAcffKNkG35Z3RQxLK4ZZEfSSw+gHQSy5nC9XY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":992272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibX9FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2rg//QA6ym1yhKZ83Q67LYVnmvnKXVqD8IWzZBm3oNgmuMyevrFGT\r\niD7KcfT2dXO9C2YfK1C7cCeMHZvlix8w2QQNR5yimLCDOZmL0XHTnHY3XBL9\r\njdKu1+CMn4wyLyJTl/KWjsSQJgZ0YPAKRIVee65ZCbDbBJPF9u8JhDMo7urS\r\nfsRm8eB4HnyOe9JE2FvPD40yXmSyC3nlh4kbqHnxufQNDW8ZOs1s2C4GTGsw\r\nH5xoc7aD1+YjOLJmmIEo5RnRUwFVMOnNPBj4yMNBpcaK+UaOoq+8Ce06xKt2\r\nFW4UxE+ikvFRjrxg61dlTcERs53d4AmsZGOZtfjJFLAC8Dm6lTB9SCAGgbb8\r\na67Yh7P0bF7viufb654Aqk1m/d9GL7D0encxRZrH5E6MmegmwtWImVYbVbK0\r\nGp5Epl6dWvhXwQ8E785CWiEaN0x8SkwRGV/E1AXxmQ1EIJFRfToKTb6dzjVL\r\nuvvN4DNQCou779JCSRFbb9FJWb7QpPrZ544qEO4DtkOWlf1OvP+7Z0OrLI0C\r\nE5HgAqfQR2PFGzIQgRYI0TNwDgZH5h0U9yt5r/Qkx5uA7FRZ55LYiN+epckC\r\ncutiluSH3nKmtrRYOQBocEk3D0Y2EMzrTApluXmlIMa4Sns8zlmYZFV+MZOm\r\nLgEsOVW6kikELTn423pp8bgpHSufvo38dYM=\r\n=4Mo8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib-const-enum/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","exports":{".":{"default":["./lib/index.ts","./lib/index.js"],"roosterConstEnum":["./lib-const-enum/index.ts","./lib-const-enum/index.js"]}},"typings":"./lib-const-enum/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.16","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.21.1-dev.1","roosterjs-editor-types":"8.21.1-dev.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.21.1-dev.1_1651343172975_0.771569957393325","host":"s3://npm-registry-packages"}},"8.21.1-dev.2":{"name":"roosterjs-editor-api","version":"8.21.1-dev.2","license":"MIT","_id":"roosterjs-editor-api@8.21.1-dev.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7d3bbafc70c7bcd0dba5b64b50c880499205b1f5","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.21.1-dev.2.tgz","fileCount":328,"integrity":"sha512-lOCdvfJD6BWob5qaanueTy2P6bdSDH6ozYqQMzPFIXSpwx7bnG6QnPjKViGKXNzraRRxtD+6BvZcHuaczdVtpw==","signatures":[{"sig":"MEUCIQD9Snp3wYd22rxTEspUh3nolqCFvMHDIUioq/Qe+I70VQIgaax99K1c0Ay/HdjexZv8X32G6HaAYUyreZcUys74s7s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":741554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicEUpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmql7xAAlmVvJyK0g7AXP4J35cdocJ8qtTOu0pitg0ayGvh7qzZ56oso\r\nXL7bFu+N4Hn2+bk5lW81xVnKezVfqQG5mkztGLMy9UVp13EfJrourDcb3/4x\r\nvzUXGBFOarb3Q+Z0fHkWFuAxrXILsdWGNvQYlnI6b1bumTsvl6Kj9Ih98jN9\r\n8gq1KcZ8Nvx6+Z/Cjlve+P4XEFLeoM6Nqj2rWOr3iCbjy0y7tvZejDohOSQK\r\nRc7fnyRZL5vkCN007CiOWjgVUsOqG5z7HgMdE/JMupV5Qd9A4fUpjXGctPTU\r\nWjyIoLt21HU6zDSC7L++Nj7SI6Iegt8RFxvfo+vwk6mDAci6HKyuZP62qO1u\r\n9vVvvNYB3ZnbVkYn+1k18t6olRKv1uyt14C8M+nAaz3Al7pXnuST1xisAL29\r\nSbZdw9ureiTItNYayY58KhrdEzyCbWk2nKXLAaVTep8wcma+gOPFZUz0El8B\r\n/WKNXUu4CvzwOq+OX6VVmHWCabiVc2D6bLvGc6HLeCZ2nPOOdwCe5vtGHahR\r\nM7HHyszv8tP2aoawqWZplDOJDMmFhtGjGm4Yzzcy+LvWO3d4zL3AgYoeUpGK\r\nDXpuTihDf+jkoQeepRp5bcoaO+eYrgc6JRYOkc+r4HAXAn8WxfPzMJ4H6X1K\r\nQmKBDx+7KdDmPmJkEUNGieDcQs7RCypsjUE=\r\n=U78S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"ebd690cedcdf02583b325c4839f68d7e4427b051","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.21.1-dev.2","roosterjs-editor-types":"8.21.1-dev.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.21.1-dev.2_1651524905642_0.8454410937747594","host":"s3://npm-registry-packages"}},"8.21.1-dev.3":{"name":"roosterjs-editor-api","version":"8.21.1-dev.3","license":"MIT","_id":"roosterjs-editor-api@8.21.1-dev.3","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"632e8cd1d7d16bbd675b01c8cd01b49e25db21ab","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.21.1-dev.3.tgz","fileCount":328,"integrity":"sha512-9kdG7dzZgVvAaRcxo0wfU1pV1sZHVTZejcdPZQ5CmHHfGRbbnVN1+HemqQHzpOjRrWIC9cpTQ2KOl8d4JQjtCg==","signatures":[{"sig":"MEUCIEnNqFhToWiILMuYsE5MkqnKG8EFFSAcuTl+ZRFZdBJoAiEA8KlPY6rAhdmwHlb2O5yqu1V9fRUdtiODVq0NK6YihV8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":741119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicF+NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpxig//exfbggfg7OsYB6ew0tM3X9lCxTnk8crc4kjWqO8a34t8cxG9\r\nJb1OBtuHeu4nywz6LjV7nX4blH7CfEfYUJ9cUqtdHtqvuKrug3oJ9liUTCoN\r\n6EBPf4sejGnsctXRkhNqesSB1wI7FKghFi6Jq0s8J2t5G9iJ8ujUTBIIJQsJ\r\nJDmilh+VRcVOBi+a2a6Z09b2P0MLDVrNikt+p+pGWKNXc1WpDyzKmOYmGL8S\r\ntnLuAnLaaRCgViwRSWhf2HrT0Crow9XV+1uGMND4MEjmjQFjjIYXABhCXv9O\r\n195lalhqZvALEhFrOra/rMsjW2dDTCOhL6sgPF0VivvUF5NwtU53Jw1pCVIE\r\nRHfkdQwamVeaT5JM0PBcyDVxm5fB0yGi3PGebY07k/EvDe9l8enLS7h1amhj\r\nUbhPZYSjGIzeKpa3tMKts/smYe9+5ZYpkjXuqmyccm6BiM6T+hf7irG4DNIZ\r\nwuuMOhlmzMV9ZnhzIvFTxRzwfcH3OKMTE3yWt/BcQm05Ky4Cm4IMvR7mYzSJ\r\n8LUYiu57746fTeSqJRcAsA8AxET1X9oM13EkoM5Wwpk71KzOsfKKMImKjqj5\r\n7+8N2l/5lI+bNNViSTjd9QxoBFqQARPPJFsu+aLokYO1aHvC9cODxEjiLeB+\r\n6qP8PpLd3/eo4DwAU1lf3oJzY+7VkoD5OU4=\r\n=ZOrm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"ebd690cedcdf02583b325c4839f68d7e4427b051","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.21.1-dev.3","roosterjs-editor-types":"8.21.1-dev.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.21.1-dev.3_1651531660903_0.8791363387273867","host":"s3://npm-registry-packages"}},"8.21.1-dev.4":{"name":"roosterjs-editor-api","version":"8.21.1-dev.4","license":"MIT","_id":"roosterjs-editor-api@8.21.1-dev.4","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"21f97be13c416f040d59de582f0d5a5b2e138a6b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.21.1-dev.4.tgz","fileCount":328,"integrity":"sha512-8WvsxJS3syqLfherCb2aSO+EMZZnipiqGHyLN4JrI0UIq38IriXhwGSLwtmqEgsBKL5WCHjhFvCsSCc1/I7pGw==","signatures":[{"sig":"MEQCIGVk44s1EmhaI3nugsvmhHODoWYW/MUdrYPmaD7uugYMAiBc0MBgcRd+QXCPxriGxgZLxqwyLmODCRkA4ScqkjboDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":750105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicbLUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYfg/8DBUJsWX9enz0dqc0NUM55qefkTb0cYWZqK62D6wGagL5ALT8\r\n1dfpFKWTvTHU527X7sds0J+7FH+dJDVjzHxFcK0EHga/tOb9+lQIKAkTEL0x\r\nm5ugFF7FalqrWls6oK/ahlsHMncTGfnxyYwd36S9uFawsvvpbYgR1g4OlqgQ\r\nukGXUQrNn5X7xmZFLGPJrSxaXAd1oRJzyGAzSvVUCTy1t9WsYPpYJ8BbKNTc\r\nJE/lj4YUg8z9W5l+tkjPtywGtLVqG9anR9oWuz3RYaXiz6sShx03jwWHKh34\r\nvd5TB0813UMCwr+XFY0WYyZ35A2sR95Wj3PDKc6L71HrYkTg9nyMt8VTWxrg\r\nN2jCMNfvVZmVwqChnzZAOyaRTUMO2cnmKf1XqmAzKe0Tp4Uay1H6N8AHjC84\r\nH5o5ArZan4Ux0mr2dI+9aQ3jnvnDopMh+X9/qaI88O6JIaVAJSqxWCX/B4h9\r\n2cpjsbkO81jja4hSjJMJraSv0grjIhfNK/nhXA4c3Ym8ROS1zBvkyHPLsZbk\r\n9huwhCq5BnLdKa3wB3U+CwSuO3T5QjJmiXj7cJNiMn2hDelcbmneCLOBH8G/\r\n3Piy+VfLFp+lYQHVgb5Yrw6muXwz6Fg296wW42zXMn+u8huO4yYRPxA5mUIY\r\nnMoywv56fCoSbYEAlzWMhWP/leAkRFe7VoU=\r\n=Pq0U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n3. [roosterjs-editor-types-compatible](modules/roosterjs_editor_types_compatible.html):\r\n   Provide types that are compatible with isolatedModules mode. When using isolatedModules mode,\r\n   \"const enum\" will not work correctly, this package provides enums with prefix \"Compatible\" in\r\n   their names and they have the same value with const enums in roosterjs-editor-types package\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"3893be3aae0fcf85680eb5a60f1b98f7f5506ed3","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.19.0","dependencies":{"roosterjs-editor-dom":"8.21.1-dev.4","roosterjs-editor-types":"8.21.1-dev.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.21.1-dev.4_1651618516009_0.9277443111525696","host":"s3://npm-registry-packages"}},"8.22.0":{"name":"roosterjs-editor-api","version":"8.22.0","license":"MIT","_id":"roosterjs-editor-api@8.22.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"029ed8a1fa999ddafc92b70dbbeaf1cacafee46b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.22.0.tgz","fileCount":328,"integrity":"sha512-V01tBTWHK502MbddMwiHpWtmspta6lAChtDkvo0tVTR+6ggRhIaUdhXcRSfQJ+yC6c177ylvFJsxR3o8jQvhnQ==","signatures":[{"sig":"MEUCIQDQVUM90BnFpQwprUsqjqDzq8TdLfCZNPpCsCQz7UcHUQIgVSN7gwQEY/pY8OiQfctTRoW9k7I+Or96tJsKDlFiLsI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":777271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidCWNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqr1BAAms9iTnW9KCgUBU/QZvq5vAencQ+Q4AV2gF721Fn4yoqy79ad\r\nSVxhO+jCYC26GrakmH/4KhqVwncdIWtVj+nh7rIklJKCjvMmfx6Oln5v1x5n\r\nA7Ca6n9k4RMXB2MEYsDmjfR/yROqpo97hLWrZDqZgDvpA9m+LOC3N/0rEc9z\r\n3dt3Ec84VtHPYGloSrF+gAn6hZLy8J0E4NmSkCnwgyGE0SeulC2QQpY8oF1G\r\nHyIB9Qldc/dDbKvWdtapYqC/Mq+1GrbbtFpAUJW6jQFAbVRe+TNIajOi2vhQ\r\n+5EMehq/gE2EgccNWvJ3dTVZZTedFHgzOMFd1/WhC2nbWLabXh7wQCLsb4r/\r\nIgPFwV3CzTlg2ANE2Gdp9TFH6Qr5nuIyNB8UT0QgGf0i0HHqvZKwhbkEY1u0\r\n0/5tQrjDOFhJR64g3HiUg57P4sHntuu7wo5m5xHmVQScbR2isUYCvFGnc2iA\r\nCK7crLwcSokNtDA86udPoC2bGUIJFqUhjcjRZo/HXQmlWeeKjYllnROf+qrG\r\nLIqezReDnyqVcxEDQpZ6RqE7chJduq6o7KoKctkTUapq81ZCwU+cVTEqphme\r\nYYFyARXOy/O/I+mkXv4VKuufhgCKkSnugcsgGlzW8SD2+J5+KQINkc0kwG7f\r\nSlSdwQeuTUEBDrSawL0Fv57Yh4JPLjAiLV8=\r\n=5K/X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.22.0","roosterjs-editor-types":"8.22.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.22.0_1651778957065_0.4069712202246385","host":"s3://npm-registry-packages"}},"8.22.1":{"name":"roosterjs-editor-api","version":"8.22.1","license":"MIT","_id":"roosterjs-editor-api@8.22.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"94c612ab48b62a014312d619a8ea033868b10a0e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.22.1.tgz","fileCount":328,"integrity":"sha512-J6cC1YKPRG/yd3fJoTP4vBafGCd3L4t4AlqqOSjtTjIlbduSDXZH+Mv+MMwBI4Hb8dB83SLcIKGA/Kq4hYsyOQ==","signatures":[{"sig":"MEYCIQC8f1Wp7j8iHV4R1K4TGV8eb3TcMwztRQ8V4nSQq2e9twIhAIHXpRWqNssUBYnWsXhOt2AMFlbYB+TPCErgED2kUK/8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":780090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifBQ/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYwA/9FvfQ9LZ3TZVVtnDjlIcK2Ehmt7XJwVir6f9ZPL3Zjs+debML\r\nuZaUMy/+/JqtENwdNcRiTwQndutg5ERAqhJisGB9v403MlTMkE9GKTxLefnY\r\nJEZtvtkip9iuUnmKItGS0o1aJuwEpPPQmXcpALIRwh5lMeqS74Mmb43C5oFz\r\nSe8cvjqhnd/LzKgJKmfmMaL9RBLk8aJrrmQeg3rR+ornmTO35EO4xEx5bOio\r\nDDLKUoi09Iva8FP6QggFelgAONZDa9ymQvxNxXeWrO4IUttc9/ZmTlQaBOZ/\r\n+TxY4FDzPj7zKvZQ0PN9AEgqZTkV/NUo/rT2DR9eAL3b0hWtHlCQOtN6K0II\r\nGVSPMx+L3Lskans4IqeHpvQk6Q1g0VxC5u1+JmOjCp7NRrKkCwVaA/MI23x5\r\nvez7Dy8Mwt2+dn9wr/BO9395AtU2ApBmVNYGduOUkvyJcQmDQwpJkSSP/nym\r\nAOJRL1zFmQNSTdf5sEXZ1DqLyQ177BJajOsYvm5m3VMa05gxR0c4x2868K4a\r\n2g61Pxa1QqEiS4qRt+t1PLinR51kpGfgSzmTmH2OCf3EErxkncMFUrC3etGb\r\nfQyPSM1e0urJHlTEqd7FWP8XyfrlAXwIDio6kv3/3aZK0vOrboGFiR3JHDXQ\r\nA4kNs54fUbcn48KViwgOucsvraNCaDrReZs=\r\n=50Xq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.22.1","roosterjs-editor-types":"8.22.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.22.1_1652298815210_0.5092035055087112","host":"s3://npm-registry-packages"}},"8.23.0":{"name":"roosterjs-editor-api","version":"8.23.0","license":"MIT","_id":"roosterjs-editor-api@8.23.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"dc82690e16989c25727fbb2c6aac8d8e11de4e4e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.23.0.tgz","fileCount":328,"integrity":"sha512-ggje5Eh+4ZsPgWc9tS78Mu1gx7JlrFLmzZEfJc82/BJrIMuKA4mJ+kJe6sOhagU9U4XQjUWT4qsOaO2T19LUGA==","signatures":[{"sig":"MEQCICMk5p3GTsaaWVEJpp2hOvZOt9HA1vTnd7gEfQlEqKf8AiADIbDSPG0R/flMZKFj5IIv+ymrNfseeu38Yihzw5WIZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":788615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilmogACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQHA/8DgGiLYUyX0z2v70KD0T12+x1jI8cp3oedUi8JMS2cFfHSMem\r\nwA2ktIkAPPsDqfu8E2oI2lSwWFPifwGD+nzDUx4jTtbV/Vaxo0eqTeu4NrNn\r\ncu+CpklW4e+txDapOoCuDGQ3FdDkgtiSeoBBGk6GP42nd7aucUeoH3dZSH0I\r\nkI7JRtrZxXQuDnqUh0KtJiBQsQAUnLv4w3szhzAlblt0P10qEo4Gt8kxN9s9\r\nF3EAcFKTvyV4P3055vzr6pLgHIm18J9+oR1S+Fuf+2tPNduzMENEsGfOMVPm\r\n9U+rrB51fUx4HWJ8S+m7g+U/gQTAbucxiGifEYzdoibskOpcCGvVXRWogCpu\r\nGDPvjTYYkjqoqVy9ia+eJ6jK8NdmmaKtjnDP3mAJRG4kOV9M76hROu4l+n8P\r\n/mUkUcFJzjRrcJiIXoSyF5GyDeG2GWDov2jYCbeca3h6hBIEoIMpRlCmSsrn\r\n3U/IYqVjN+YuINYraTdq/jhx0an15lCQBpkOjLkXPlLpQcn8B1qb76BOt3we\r\naFbqH+shfwvkD9VUXUbRF6Okz8d1gEp1jtQL6R8cCV5+hi+Q6kxq5cCuD4vb\r\nWeDsharxeA+5mFWAYK4QTxv85DBVK1qjX8TsOIlVY54gxzvT3iPQuLpXmQdJ\r\nIb+gs2Db0wGxoCpKNf0XNt+br0lOGkBtj4k=\r\n=eyOP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.23.0","roosterjs-editor-types":"8.23.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.23.0_1654024735964_0.7099873442755311","host":"s3://npm-registry-packages"}},"8.23.1":{"name":"roosterjs-editor-api","version":"8.23.1","license":"MIT","_id":"roosterjs-editor-api@8.23.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"5e7224d49010984924d5578982b02ae9a0f3615d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.23.1.tgz","fileCount":328,"integrity":"sha512-59j9bCHWd66XH/9JFB5d6CwIrrcgR5hhHbafOiXSSAPGINiYpkL8gs7CJ3/iScMvzovqaBNFrgew31TymVzNDA==","signatures":[{"sig":"MEUCIQDrUliOHU0Anm3t1e/6FwU9o2mPGD7hGn/BbxbekABUcQIgJeRhLBeY1BNJMVoR8q0DCXQAlBoZIXtXloRi2idC88o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":788615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin4R5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrtXA//RhRpYvSNrD/cnKu3tGfUFrFezZzGRa/kdr6mBAEKlzhUkbj+\r\n4A8E4BWs7RGpCHf8SHyVfSRTVPr7OmonHfDtNx0Gxneohxgc006/hTpKBy+U\r\nw+yyLwIucWiicYdPRGLAAQLbM8AqAjpqGBYfW7cUmf0qJahfi8CzCJsOBMsT\r\n4Fo8+sgfq+bLAj3RALtdomENBLFf55mN4WtuB8fm7J3tmRo/8ojhWSRE5Peg\r\nf4krrBbRFtC7jzr+ZVLr80sm7+bvxVziMrTl7f5C0q3gHiLmIBr+PyoF5xva\r\nTNqMFtaJ0FpYbhnRE4PBQPZK0YlILrDfjNjMV3SBjVkLciTCkh6pdiwaHS9L\r\nPxdQVPFhmHEyfAI9bUNbSR2vzLCyuY6yrKuoKDeGe8ivXDsoejQ6+5jH1ezn\r\nJ4jcCIZviweCv36Jz5pPP1wR9+pkgdg1oGtEHe7BH3ePA5qyQ/iYnDm3jK9z\r\nnT6K108vP/Qmf9PZCQm3sz6vE1uPweX3WEblH+D/htdd2m3TJnUidysnHm5J\r\nG5eUHv02hIXzes1b9VNfaEWmhdi+Gq4/IGRRqou9BtIl4Su7C30nP5pT+x/b\r\nr2fwxfpwCnz4cMGoepg6d6IBaRrIxIdJvIltEaM3h8/s06n5Gnfx0wWgrmMu\r\nFAyapv2gNkzQZ0WI1QDt4hFINmR+VMu1F+8=\r\n=GNmi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.23.1","roosterjs-editor-types":"8.23.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.23.1_1654621305531_0.23700276194669767","host":"s3://npm-registry-packages"}},"8.24.0":{"name":"roosterjs-editor-api","version":"8.24.0","license":"MIT","_id":"roosterjs-editor-api@8.24.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"8dd322840c8b368dca2c2ad79be1b471c4c2f8bd","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.24.0.tgz","fileCount":328,"integrity":"sha512-tjYNaku+f1YNrSHzqwi9z82wCq/XXHAJ4GKTffezVtbK9Xd1jE9ewzS0dzYgcceM6AIKBXVqujzIpyHEnKbcRw==","signatures":[{"sig":"MEYCIQC6IG6+H/RcrddWPigq0P9K/z6vp9tEdEhi5zKa2Kt5vgIhAKtp6a3blAqQoMuMKRJYgs4n5a/H1cu9oG1tZo2KEUKn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":788615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJio6lrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmowmw//eH3rbTh4ZXfTMS8TYgfbhQGCOk0qOb0PEQCC3Q3j+7+G6LlQ\r\n2pzbGNrcG4WYaZrzgm6FWLBHzfkHlbinnn1Pz08MK03TLMmEyRbZNDWiGs1G\r\nLZI3ulTuoB6/pCh8gslFvYF062Tnfnm9TNW6Y7C8sThaRtiiocw+2g0EhP6v\r\nVwdhl/vTYfmB3R4CTV4bE8A/pEaiG49aqEpd9tcSImBDDPuvLRxpDpnudGQT\r\nkeRWNkyP6HR4nJXR22UAETb/zE4SIDIdpwpWkyhaP29Dr0uaRiYntfP9j03d\r\neEskkdC5fL3p3cvAorUwZFCm01Tg4zFsVqLuvkL2Lqx5aI3E/Z6XkGNsKQSk\r\nwsBdDXn3bD2Ry/tZcnSVzWdXlC5xfGidSWcewlhT+b5Nde04wz1b5aDlGZNn\r\n4BGen8n1oF8mDAs/nL0gx6UXv7NwDoM0hHcAwnvjgoizFmpnl1tOWhfet+c6\r\nSwrGpp8MQFKy8Tvvw+dD45ddfZyJ0l4doT0xXE+1ShsRA94mJGWtwzAB80ON\r\n2nvDIC+Fvqb6W7gC/tiHEFTZp9GviBKjHp2pST6mPcDay3Wh6E/d0ARgmBvH\r\nb/4E432m6oU6utBOZv+05qr7i3w5RejGL8bXcR7uoTW8s67heYfduAkuhPfM\r\n+T+GA3LKhgM6nyOYaGyTQbXDqEbHMds19CA=\r\n=fvml\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.24.0","roosterjs-editor-types":"8.24.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.24.0_1654892907123_0.97349837082333","host":"s3://npm-registry-packages"}},"8.25.0":{"name":"roosterjs-editor-api","version":"8.25.0","license":"MIT","_id":"roosterjs-editor-api@8.25.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"dc8af43504d8028c8b21e1c990952ff086f09e3b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.25.0.tgz","fileCount":328,"integrity":"sha512-hfCwavu2sbVyJ6Nn1PN9Y4PaMvhPTzxhW5GpFZ8G/s+b5J6RCDB4uCsf3+KO4VUiu0hRHvlc0J8SxxX2lxqj7w==","signatures":[{"sig":"MEQCIHoSe+g89H5MSyNle595IKBhcatXXpbEH82IWe2aHPc7AiAP6cDw103OfEOyfIuyEmRG/VNSj+VVezbw0fLkh//x+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":789776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiq10gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqgQBAAhT+Q4qSHLcIrcwdLy0SyltPsI2H3cDI3gLvlnjODjVCz5G0+\r\nzw+iJphF5ZzyifymRC/xelvlU9YQT8v8sy8L7qpF1TlFYI+MH3GRD0RmyULB\r\n3xDYMzD7tkAk8pHx2mB2RNRcjM8ANzVCsbg6rqVUBAbzXdMCYqCWNdLNVnuy\r\nBmtgU0s2WTMgkL+QaVOyw4NhIEks+EFL0sneaWiJL+4pvebb1aqz7AfaZxJD\r\nuDWtrFXOdGqDgih/haRwb0chhGyyyKDYi9nZmI3spF3bVSNso6vzu0SvsfAA\r\nPolFOz7VR60w5/eCfpaeGL8oqN+BYsBt+WSmiAZFWeZqgAn+i38rfyL8R0Se\r\nZtObxGIsNm+d7mf4vqa2fbmN63w8dAH+nbAhlinUsQw5RHfeGK+pDhVniin8\r\n5MqN5vw7/n5OQfks55xmlJmQFPodGkRLnwkiZnb8UHgW9ePb5weRcfpWvMCQ\r\nDDROUkRGW6xILSvkV5pawko4RXtX4OKqinqJEoDj0pP+apgs3GfQETA/38/G\r\nHkitHQz6WsfBtqYLDc+ZhHh2vJyjVLfHhsYieW+wezEic+zjWbT2NsVjOAKj\r\nqXjeq/rHJ2nxgU9+dMlWay8wwGq+zYimrxd2IwALYYJovSJwoLGGohC5L/pp\r\nmhBu9E8wPIZ5mgOfZMqZqsnBGgz/YCfx+YQ=\r\n=xyJ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.25.0","roosterjs-editor-types":"8.25.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.25.0_1655397664087_0.8473481299957442","host":"s3://npm-registry-packages"}},"8.26.0":{"name":"roosterjs-editor-api","version":"8.26.0","license":"MIT","_id":"roosterjs-editor-api@8.26.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"9eae9782913383ebb861b577cd979c127007a04e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.26.0.tgz","fileCount":337,"integrity":"sha512-qRK5TRytZsv4A9CFZwyDxo6ieidXB+DA/USCMyI5r+NuXYbrMPrNXEYhEn9r0qMqfG7H3BRyH06oKdOJB4sphA==","signatures":[{"sig":"MEUCIQDgqG4bdl65lfPdfXzfX606FheAIYRsh3AwvggUgCQjUwIgIU9Iw6sLq5NJ5Ecttmkjvpx+HyZTz3TO3EjgDBlmI4k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":806065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivdxTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokMRAAmoLBqaax+35nFHJDyaiYaMyxaI2HhVtfoT4x9+cZ60h0aTWi\r\np9Z3QAU3pbalFQVkzA+Gr5SPz3cnU8S55nXKoARUnTq47ntAU4acNFDQrrQN\r\nj/MfWSzZusSpkAQ9mgo7O8EFk3kKRQNGJVHVmyC5WBaf2rQCrB5wpA5GfqYh\r\nT9Rdwd6ut6QV/07G16O28DyyBkfnyDrmOcXom1t5rxTolBA7dWCjvYM6ZdA2\r\nbqaxcCTJOMw1kXpjz8Hp90ex9tGVMyDLqHUDp7e9zMjdQNU9YFfvL/wRmeX+\r\nKDlSOsWfC3m1AEXsKyav5HmJR/K1X64g22U/SLVYwRemNis/Neg2x3mgsg0+\r\nQU50mi9zkyteMALC2soXAjlq0sTziRduTJ+naUSrcXv9A50izrBqpYBGqOKD\r\nNrOuq8ARc+gaPNf4V3Eb8+14tVLwI6V91qFxNRXnv7coqNNcK2ej963Z50No\r\nqocKiPOwtDWw4H8wiw8b+tElw5LTvLfNVfV2q0ou/rNG9vQ8qeXfvc4jDjkB\r\nAogu6AxVybYjEr8insTqivRiR+HAMtE9XR6LtBnn775Y8ndhm3aq42j6MUv3\r\nV4qsvELEAH6XnBL4747T88rWMv0SHdmu8wkPzl6fWwGpTL3fN/NTt9DSB0yU\r\nK9DAXN6uu0ODEc3NStEn+/GgG+1DGzP4fq8=\r\n=ZY5m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.26.0","roosterjs-editor-types":"8.26.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.26.0_1656609874946_0.48258313389386154","host":"s3://npm-registry-packages"}},"8.26.1":{"name":"roosterjs-editor-api","version":"8.26.1","license":"MIT","_id":"roosterjs-editor-api@8.26.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"a156b83aca55f9f2132acda77e431aa9570a8450","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.26.1.tgz","fileCount":337,"integrity":"sha512-bJsjSzhNYFcdzuewP3pvyRGrCOkgJ8O3lWX2/1T90cnZmJF+K1qPaWsMSCjvjI8c+RIkoqYZx54izX9w7keIAA==","signatures":[{"sig":"MEQCIGHmi0J7QwCAJWr4azQwi2QIX0xkUF2Zr3cW1G/gGIboAiAnJmgPIwAnxWMiZaAiBmxS+g/gFlOR63kCrRlRund0lA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":806065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivjauACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqdhw//WX88IYhiL8S3UO2fJzPO6L/MIfL8dwayem5V7tpvls6kIguA\r\nQWQ4KlKQU2izqzvdPsvklMcjhxMaqzYOqiZQReRcHsMhW1TRHF4mlzSyNRDc\r\nFYm+7HvCrFaX1NPRQnv6b7mWPb8FkrxIfkYxYROL4ga4RtQwj3Kt9DQEQtxU\r\nnkI6mEAHCksiWEwyq1JFkuAGX1WG+SbdeAyNDVt84a1EgEXKcnZK6gl9S70s\r\nSbsy9OM5+HE/wp5ukdMUCv7NVnYvPq0kEiRD5Xmjd2HjkJKB0GfhAR2PH9FW\r\nEuu8is/XSwbxIXQMhmasB/ue5rt5yK3APifjsqPnpW7hEQwn15pZOQF2dXZF\r\nLkg/27dEShMnYGCgi7HPgd1cs9rftG6PKazYGhrlF7g4V5RFXbLIRoOw8noD\r\n5gaeiMkrsG7DpYWFc7NyV7B1uhTy1wvq0vdJp0caXi3muDnHYKrpZQINX8TF\r\nITHT68wofWMDm23p0aUGU1RWZuwCgcI5MMt5SFjOe01vkykDfGbu9mVy6yVr\r\nFx9Eeu1LqI5mZNcl+gzeBtr+iPH79I10iaCgeh3ujdlkGn/trdeG2Zr6spY/\r\nP3eJCp0a9nqZy8BsZ1dHlvn8eupKkzT2AsB4B1bZtn4k5+XqwxxEeIik/0/e\r\nbeoBL2th/MNvrVGf2Xp2Po7mlSPo0uL9rV8=\r\n=gPbr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.26.1","roosterjs-editor-types":"8.26.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.26.1_1656633006260_0.38994424823569296","host":"s3://npm-registry-packages"}},"8.27.0":{"name":"roosterjs-editor-api","version":"8.27.0","license":"MIT","_id":"roosterjs-editor-api@8.27.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"277f1edff904a161b996f8acb75a222906d6dd01","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.27.0.tgz","fileCount":337,"integrity":"sha512-FzphwfQmCTXXqtrl48crIVvuKo/1njS/11tJ9qxhU1/euRZX+0CVAGd2EvpYesEpzFjPjFy6hiF6WJpe5pgZDw==","signatures":[{"sig":"MEQCICSLN01i2oEpqVyKWHxCVHbaO6m2Hvvtlm+7ckdcP5ePAiA4cx75/cd/Ve5oV2tt1o3CzGe0bXqMjPZHdVKF7rIeeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":808461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0NzoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8FQ//c8OZms+nXvbUc2wqlGvYX5E3W1zSoPyztpTXQlDKrtpBwjFi\r\n2oQ21iNBLp8pbX8ap/4MMLcQE17z0yzQmXEmzaIWnMeTMYNLd0FOjGLUvVCw\r\nrX2PER9x5UKj3kIWzXz6R0ofAHmfqaU9TDGEwfEoeNhFRfnhIXX02i6/nUq4\r\n48Ia/Yabgdu3QcfOg4ZrAAPHOyYrzL3mUiCZi52wMcLUoqlRPUa6wTjhcnE/\r\nXgBApeeVSmUVsrAOI2aKAKsLg9wcXCidOGr6IzPLshk5iGjjdQUzU9nz4rgn\r\nhfGZUbb0YJygLYxT56CtyIH+yEZfjb3WzOvtr6kQjMSnxq08SgaV+jHbje3a\r\nD33OLHxMimu6OQBqFvmcg+MkX2SJC5V6KRXenOgAP1a/Eh3fLJHltxWUqXMk\r\n/h0FYtLyRAGQAF/27u0dmaNgfTXl9Bq5nFiBByE1l7gOrPsA9z7DyVaXuPJE\r\nowc2KANYhAzrvQvO4+GlRmh+k0yzAOZtgdrUu0FHTBxztF3jAV/hVCpz8Tkv\r\nJea1sFtOZoqolkMbmJi7Z/fBXsHwBhwi8CybYhqZ71KPRV8sJxqR3miYYsfr\r\nx/tH0z354v71PW48aUbNDIwq2zZRCRKNpOAukIfqJDBgxCx7tRr0u2Lug1V1\r\n4gccN0pHzvwN8a6zpYbSC8O72as6kIz39xo=\r\n=eHlN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.27.0","roosterjs-editor-types":"8.27.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.27.0_1657855208317_0.8538017918877034","host":"s3://npm-registry-packages"}},"8.27.1":{"name":"roosterjs-editor-api","version":"8.27.1","license":"MIT","_id":"roosterjs-editor-api@8.27.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c733793753b6525388d29bf804e9f3e7bbf56cd7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.27.1.tgz","fileCount":472,"integrity":"sha512-bWFoL3Da2upHGiSzunfItcGBiSrFx7o6ZQzD9rcu2WWp4zYeZi8jNWSUSEViGzzFC5thJwWjkMZwD00fpHCG+w==","signatures":[{"sig":"MEQCIEzr1L7y77WKsCzuM6w/Vbx3ENXgXdk17xJDU2XWBpcdAiBvSZm8icFWvJ4BkWSWl4q7S128GnSiobF/Ox84uCrfpA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":960202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2IfnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8nxAAkRjGECmZX85N8Tex9fMvlwtok7cmf4sPAwFcn/KO6mrTSPq2\r\n45xPC6Im30lYVkWSDHpubUSZxa1AK8VOIn4LGZrwdMwiY0NCDtRfzXT8Fw0x\r\nm7G8x2pGkqlrpXGPDd/sbeqeIJwZo0QvTO8LMWWyq1Gkr7EkiPdbtfzAjSCx\r\na+bUQcCN1z8rVdF3/NvB2VjUCuXcEQGmnA7aRfhuH3pDXKe3pipPOVUoRERk\r\nz0BvqmIvhau5a1TP9bri5QTspWrh1ZQ/5EheARnNdcQR++jiV8XcYbklYnIV\r\nG8IKLr4cqdipH916LRXaLykG9CzFNVG3FPi+zoQ8UhZ4v0gqcExqjCNPVtJS\r\nwo6Suwng3dIV5awrvmq9euDNVSJ+2Xc2toV4OgmN7ssbgLOgZkLxUePW44jj\r\n0AoldPwoLHyYlSoBV+n9840s8wXNcVOW1qHy4kg1mDiZq/fIBsxNoMYk28mU\r\nIfnLUG8lZR8W/eTMPp5CyYBsDGyYtTwH3ZdVu3vRTvXC+Cs86r3FIw1hPfjc\r\nIlkvs+EsSx9zVEcVz3HEHmeCP9IdM/YX3eWe+Z1A6uL+ARtx0lpXYbxckAP+\r\nbhEUqGqfipr5Radrk8TTqE+UznadoDy7GV/OtLAUyw/DWiq0q4C5hh5eXBcD\r\nuohYerdh6Z3V+y3PYhAx7CNBiyJobre40Po=\r\n=ZHR8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.27.1","roosterjs-editor-types":"8.27.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.27.1_1658357734958_0.159810211942919","host":"s3://npm-registry-packages"}},"8.27.1-dev.1":{"name":"roosterjs-editor-api","version":"8.27.1-dev.1","license":"MIT","_id":"roosterjs-editor-api@8.27.1-dev.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6c542c88d45daa35666ae4d58c474f9a1210d393","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.27.1-dev.1.tgz","fileCount":472,"integrity":"sha512-fweO7ZkHGHesZgSqI5gvf0kHIy8uyWvVKgBMYYgElriJaGQsadOR69ujX5StD9em+y+oD0nyf5I/RzDgcLebog==","signatures":[{"sig":"MEUCICWV+m6i61qoZiFMt/sx+X0eqkAHEN+4cuCrMZ9CTeMwAiEApzoa0uPotNLI7D0ShUp5+hL0zAPz1YgqJWQUP86hO8g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":970026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2cU/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrkJQ//ZgXBHLY8MypiqyAAe7xRr0eT1xMJA11YKYBhSDC8uBIw5R9r\r\nooZePfuejxVdiD0VYVHxcci2jbAXKitVKKdEizpn/dag563AGF6/i3t0jAjd\r\nkVvYf/iiXEG7VM4COFhu72p4s1rbm+HAPQDDWSESFqhP4cIJbMAQvs3lUZgK\r\nByPFKwqMuuRL4HS4sl+YNhPlBiEL5Z6Qpe0HwOfaCulAt0Ng6eYfp8bsrTdZ\r\nWLtTNVllcEMihkmxTE0f6UrNEikN4zJNgJ8VeDo+TsbYWmHf5LeGTmglkQK4\r\n48DdY/87szArkRRoCdVlG7E4k3QCp+OfFyCmPcNKpNqjj0tlqj8evpGrHYDS\r\nhp4Mf4IlUv+ygo8d5rgCZqVXY+LboggOBec7xQ0ExrTNz+q1ACExN3Q4pn7O\r\nke5pwYpdrvIY6zB/W1xf809me7MwebBpOS2RB24Gc4qkhOYBrjfOIRKgyt6g\r\ndjLKxHJgA0mFNadNJ74lJB5Sd6xcd49Unxek1mr80rsAAwjsprX3+4MN2wos\r\nwA9aDZgGwH7OuVE+fU+rRKFtR9yuLJtFjOZdaCz+KQ9tXFW3GdKFM/K3O8WC\r\nFsbJa5A0sFneFwL0Obg32ZwGSnoP5DMOzsVyhV/ORkSTFnCR5ZCUSFXu+yK+\r\nX2PmnnyLohk2xP5v6/7obLx24C6gnZ4mP7Q=\r\n=DiwE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","module":"./lib-mjs/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n3. [roosterjs-editor-types-compatible](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types_compatible.html):\r\n   Provide types that are compatible with isolatedModules mode. When using isolatedModules mode,\r\n   \"const enum\" will not work correctly, this package provides enums with prefix \"Compatible\" in\r\n   their names and they have the same value with const enums in roosterjs-editor-types package\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"05ff9b9fdcc5f366dc701bbda7d86d3e93c91590","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.0","dependencies":{"roosterjs-editor-dom":"8.27.1-dev.1","roosterjs-editor-types":"8.27.1-dev.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.27.1-dev.1_1658438975013_0.013311654567334408","host":"s3://npm-registry-packages"}},"8.27.1-dev.2":{"name":"roosterjs-editor-api","version":"8.27.1-dev.2","license":"MIT","_id":"roosterjs-editor-api@8.27.1-dev.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"709fe63b1b1ee9b327ad81ad12c486d5450f390f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.27.1-dev.2.tgz","fileCount":472,"integrity":"sha512-Doxyly9kLjAW1knB60z9HOJSd0LDxhDbcufK4CK4pDx0tnFF7OrnbPlPddKnpvV83GJABiLXaVnfWN3sLP9FiQ==","signatures":[{"sig":"MEYCIQCcnWp3alKBC42gkqQ/ryqTd+WIfwjex4k3+IfYoNNrTwIhAKGxVO+m1rsghqpZYZMcTiUVN0Mpfo4sqscmYRSQm/m4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":970026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2tqdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2bw/+MgY8lqMaenFIv0G9VyYh5XHvg/g78GgCUHv2psDrx50yyiga\r\noimd/FgY9dFBp8mySBqLhRT58ho9XzPwdaFkdE4XdPBwOrWyDc5fQ/8hunCM\r\n+P2xUtKsE4mQGxAkTQ4C9U45lwi/YCMVK6Dsh1MMWhUipCJRLm5hpSrJx30U\r\nEpMhqIss4nYQ8uoZO2d6NLTgDf3rOLtpkCoDkWQLpeN0SmzibQkPx4CSoQ8/\r\nKfJIL+XkajWslYo7oNl4Rl3MvG9N6uSOVPgqPJg1RGwu0RDV2sy2167lo+y+\r\nTnBnhXoa1HlvCaffA8r81gkQilZCIBUWs9mwa/gq2oTSVrqhXIHUifSH6f6+\r\nKAdnzBOdXX+6c/Iqafy9tHcZgoizhQrox2LXOW/OEzmLzGrSMbIhsWgccMRU\r\nI7/SeO2XxRXgCYkmTmp6TMigPYDJ5tq9Ra1GNZfCGPnaLjndsxv7SJjUOzoI\r\nW43Kn/EzSXnKnnieK+2+CObkEMy5uwWaJ6Jg8XnRlxChfLeVfx6OaSja7JLt\r\niMPtXEbbY6Mj/L8ZfvKJzfY6RGBYTA9LcoFrB1y1W6rkdRgXV6PmVwpfdQlE\r\no6P/2XuXrf7OK6X/6EYYeL9vYL+PDq8EJDu6Zrc1lxkDE7/kjSOcZapemBPD\r\nul2Y2cpE2mDVFTGIPiB8Rf3nbKnRA2WtiF4=\r\n=w4PZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","module":"./lib-mjs/index.js","readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nTo view the sample site, please click the link below:\r\n\r\n[RoosterJs Sample Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 7.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-8).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-editor-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-editor-core`.\r\n\r\n4. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n   Defines APIs for DOM operations. Use `roosterjs-editor-api` instead unless\r\n   you want to access DOM API directly.\r\n\r\n5. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n   Defines basic plugins for common features. Examples: making hyperlinks,\r\n   pasting HTML content, inserting inline images.\r\n\r\n6. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n   Defines public interfaces and enumerations.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\n3. [roosterjs-editor-types-compatible](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types_compatible.html):\r\n   Provide types that are compatible with isolatedModules mode. When using isolatedModules mode,\r\n   \"const enum\" will not work correctly, this package provides enums with prefix \"Compatible\" in\r\n   their names and they have the same value with const enums in roosterjs-editor-types package\r\n\r\n### APIs\r\n\r\nRooster provides DOM level APIs (in `roosterjs-editor-dom`), core APIs (in `roosterjs-editor-core`), and formatting APIs\r\n(in `roosterjs-editor-api`) to perform editing operations.\r\n\r\n`roosterjs-editor-dom` provides several levels of DOM operations:\r\n\r\n-   Perform basic DOM operations such as `wrap()`, `unwrap()`, ...\r\n-   Wrap a given DOM node with `InlineElement` or `BlockElement` and perform\r\n    operations with DOM Walker API.\r\n-   Perform DOM operations on a given scope using scopers.\r\n-   Travel among `InlineElements` and `BlockElements` with scope using\r\n    ContentTraverser API.\r\n\r\n`roosterjs-editor-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs are overridable by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-editor-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == PluginEventType.KeyPress && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nor\r\n\r\n`npm install roosterjs --save`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-editor-core`\r\n\r\n`yarn add roosterjs-editor-api`\r\n\r\n`...`\r\n\r\nor\r\n\r\n`npm install roosterjs-editor-core --save`\r\n\r\n`npm install roosterjs-editor-api --save`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\nor\r\n\r\n`npm install webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` contains a DIV with some styles, and a reference to a\r\n   .js file:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Create `source.js` to import roosterjs and create an editor:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see a editor shown in the page.\r\n\r\n### Add some format buttons\r\n\r\n1. Add some buttons into `editor.htm`:\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div\r\n            id=\"editorDiv\"\r\n            style=\"width: 500px; height: 300px; overflow: auto;\r\n        border: solid 1px black\"\r\n        ></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"editor.js\"></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Add code to `source.js` to handle click event of the buttons:\r\n\r\n```javascript\r\nvar roosterjs = require('roosterjs');\r\nvar editorDiv = document.getElementById('editorDiv');\r\nvar editor = roosterjs.createEditor(editorDiv);\r\neditor.setContent('Welcome to <b>RoosterJs</b>!');\r\n\r\ndocument.getElementById('buttonB').addEventListener('click', function () {\r\n    roosterjs.toggleBold(editor);\r\n});\r\ndocument.getElementById('buttonI').addEventListener('click', function () {\r\n    roosterjs.toggleItalic(editor);\r\n});\r\ndocument.getElementById('buttonU').addEventListener('click', function () {\r\n    roosterjs.toggleUnderline(editor);\r\n});\r\n```\r\n\r\n3. Compile the javascript file using webpack:\r\n\r\n`webpack source.js editor.js`\r\n\r\n4. Navigate to editor.htm, you will see buttons with bold, italic, underline\r\n   actions in the page.\r\n\r\n## Sample code\r\n\r\nTo view the sample site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the sample site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n    or\r\n\r\n    ```cmd\r\n    npm install\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these 3 questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexable to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","gitHead":"0ba7ff24aba9abd2262945a3a96efb6011834659","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"8.1.3","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.0","dependencies":{"roosterjs-editor-dom":"8.27.1-dev.2","roosterjs-editor-types":"8.27.1-dev.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.27.1-dev.2_1658509981427_0.10337132427574725","host":"s3://npm-registry-packages"}},"8.28.0-git":{"name":"roosterjs-editor-api","version":"8.28.0-git","license":"MIT","_id":"roosterjs-editor-api@8.28.0-git","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c1df6b9a0472f2b8cd041674a465a7986d647ec3","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.28.0-git.tgz","fileCount":478,"integrity":"sha512-1w8I66qwMWl7sI+KmEPG5g28uSEd0CmaEvK+Bexpk76E3TcWscO7T3i0RfdemFecF0RUj6RLw0pVXDtQfbf6Mw==","signatures":[{"sig":"MEUCIC7XLx65ZS2jPDR0c5ppUcpWgdo255zK4mno7/6FGjmNAiEAvP/5gtG35UwhLWc8HiejLMnP4YIB8Wdfz5+d5KAdcMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1004971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5CeFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYCQ/+MoWzZHFkJLj0HD4tRIKEalKrE8nlfCWmzeArN1+dO4IOLbaM\r\nUh+/hZvcZC1vOZAMb7yj4ZuCAej4pq296ZXIPLG5TrYvKuy0dPVRnXlbo1Ht\r\nJoX3kMx5Sxn8IwOD9XA43ocSUMyo0N0xK5c5Y8I6vTu/5cmcU5Fu8iJRgI1K\r\niLnkJkasG0W7ZLTX5uRJfR3e2pJWL0MzixMaRqswQEIS7hApfKsJYLqR8SrC\r\nB3/INCqQ+d1hLxPAWLipTW7TiI7JEOEJ/gf3ClUNobbMi72gboHTCZes5Yzq\r\nb9TYWBY5RjoF0WUteDZqGK6iX7ZAYyw1DiZGrT+aNyuGOBtNQBl5wliRe2OC\r\n7mt+vTOXvpvGQBqXgZ1FD1VfhVRsuedhD59AAvB1mw4xcKDRxvj0uDK8qp7A\r\n7XxnTW/DHzPajYrHuAjQVJcl+DOmC6AnJcv/Gpc76szgDpA+3/khSqR0/MEr\r\n2LguBQw9jpG8SJg85gJPro/v9566eQapZ4b7OiUWgHqK7vjOixqUB+4teIBH\r\nGjMAvRSb+zDqHgbRYj7ncpXMXud0mjSyQ5hU4R7J5a/w/Bpp2lhA4adOq4eN\r\n468hHldlYOTTHfp9Kk/ydG2zvG9Wl2BOYh1rsk9gJ9pa4q6vOb/sa+uBQs2j\r\n9fhNdmmmROGnEm5qx3m34pljcnG/kjhtqco=\r\n=UhVf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.28.0git","roosterjs-editor-types":"8.28.0git"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.28.0-git_1659119492938_0.709138742576358","host":"s3://npm-registry-packages"}},"8.28.0":{"name":"roosterjs-editor-api","version":"8.28.0","license":"MIT","_id":"roosterjs-editor-api@8.28.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"dafdc095145a16aad6010c8f179668dbf1f2a300","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.28.0.tgz","fileCount":478,"integrity":"sha512-9jAjmHkjZ076/kTUL8pkn3hvnsPPOLS4PVRIF4zVocflA/exJ3FcDGBi6ze7qlyYsPvevCCyYQWh16rUtb+S+w==","signatures":[{"sig":"MEUCIQCNYZLxhDo7KvyWgD/wP9kWRGeledgrtM5rbCOwhhbSbQIgcKuGBclhvbHFMuhYGsysc8jRU+GadwGXWky15I4/aOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1004962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5CpgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrC2Q/+LDCBJSP9zeESTgCKKbj/QLidkVDrmf8IFMzbEx6OiYfriHOv\r\nl5TWEIxEXdrtSQqXNkYaRPLl9UTFWNn2cDJdNK0tTEtqcAvmMme1N7DSpUFG\r\nWTapXAlcUsdyEwEnJjfmjgy9jcuiq07JPIPb/uwI7z8wOn9Pav7afR2mx8q+\r\nyegD+8viaINuiFnofCvUSd/qI2pB3J+RY/uvvhCYA8PlJrODYmQcDRQU5h4V\r\nFEpX/2i9+LuaDI8fjBC84QhRoJEnI/Q5LNnChI0ceMptowIBZMlm1R9PpImE\r\nXunSdL9+ndMNW28hEyyRfB/pTKbLxeDPQOuosimykpup70IMjRgZK9FXbxft\r\nR56QQZMlsZ784D1hVuIqFqjoOdaJCsMfwJPLmkfunLRUOBzcoEYPS5pHkFPE\r\nKzz/Ymfr2k1l0yP021EXDEAYPjk1FeXrvcpuHRKc2Qlpo+qtfepLLGEzsGjq\r\nOjXgr9bl1nEsw4ewc/gYviTQleDuXr7Hkw9CtcHYoKxD2vkCY3HdECBZFwZL\r\n8S6mWS4XSH0o3x+6tjxfz6whp9HuoC6hPwmVSfcwiCVDumhheVDm0w3Silky\r\nJfryXqpcT0jKPywaoddXYfEkWX0EoQkd5wvCP9hKTUsllNad6cb5byKqQQtV\r\nU7aHreBeSROUIbB+izWiSUE4tOK+iW9Fv2Q=\r\n=oLWs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"8.28.0","roosterjs-editor-types":"8.28.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.28.0_1659120224346_0.25119995581168797","host":"s3://npm-registry-packages"}},"8.28.1":{"name":"roosterjs-editor-api","version":"8.28.1","license":"MIT","_id":"roosterjs-editor-api@8.28.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3caf417386627a192e79fae36dde311e70cd0380","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.28.1.tgz","fileCount":478,"integrity":"sha512-lHClUQxRLQstCn5racR727JAbNKP/M4b6yry7HyzdeGOVJUznB7aMS7aM3M5Mq3PMZPJDIVX4Bzr072GQRv1KA==","signatures":[{"sig":"MEYCIQDD1jMV67mVeL2zIpLx0qFtt1HoUN8aMPhDeuQjs4FvzgIhAOPgOghEnAkCXBxVHNsZDImy5123TV6OElgMx2SvfvDL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1004785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5FO4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZ0g/+KkQDbDHZIX4qaDQty2Vnf1A0VNaP5O9IBIWLHUnV6rd7XTMk\r\nu7pfk7VlOZgR1heAwME99lxWe+LB7IMROPjwlu7qr6VjcBY5nAGSnbx88JcJ\r\n5TVFpepANzYucactaJX1wtAuxGnvZ4CdBea4TnviIMqBVGaRNR6TxxEXy6ll\r\nNUDie2wGK/jJx5aDTXti61tkIPBC9ZReEshFMYapIEZoF28S5uNBBNTL8G0h\r\nqLsa3HAhvg73AnHiPXFBzYZVIfMgNZhrra60aZ23oQMtE0xtl41kgWW7mBtY\r\nmTmSRgW+rjPjjJgDaO45HssDNcvH+KANPHGBiJkZqkjJO1TjGc6JfUWmDsst\r\nryH4eRTNN+NZYfxBrbPN8ZJjNphxi/gu81K8mzfmi4+BoPehrrWptXvdzvQ8\r\nNkog5xHOGPIU5c64JPGwyYMSUAfykT0psm9Mx2E7Q/K21WVpDEp3ke3J9rph\r\nOLaWgdVaDqvqJUdmWXNkaRVo3oSND5I+fZqpvhbbf9RfIYAzkbwT+2h33ESz\r\nqOnyLoIGFrUf40EKnu5JyTQK6+7UtpZP64662D+USaE2xMNJtBbVpK2I5dMh\r\nm+3IW/BBkY2umg8XcUg88sAnqEvUyue//fK8jnkGKx7s/Ln5YiMorC4uLb5V\r\n7CbGiKbybU5QOFgB0Vo7iy4nsj5n+BkLtq0=\r\n=UiRw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.28.1","roosterjs-editor-types":"^8.28.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.28.1_1659130808556_0.951039858019777","host":"s3://npm-registry-packages"}},"8.29.0":{"name":"roosterjs-editor-api","version":"8.29.0","license":"MIT","_id":"roosterjs-editor-api@8.29.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"522a071e987615bc0dfbab5a543e186ae999eb5a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.29.0.tgz","fileCount":478,"integrity":"sha512-Pb46F0CmHP32w1eElJNTyYRMV1ZQFfhGNxuL92NXYufbbpOGYDf1WFM4GpzrBoEzGVWc4m+3kz3pQI8+S9atfQ==","signatures":[{"sig":"MEUCIQC7ctomt+cilVW7aYDzoG6h9qR+RGIn4Bb/jCbo7M3xMgIgbae3bgggJEfuPYCf8LuQeNK5JHdwOYcigQALgnnNsGA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1015057,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9ZOPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/2A//ctjxf21meGEhxcvKJFvMeLtkYFOsc7TJkXycFvL+nurrNwQV\r\nhIaO8zu2oZqLTXC/1ZUQXA9bDUtw9Xxd/l6OqFT0lYYX2vKnGvlBUBf/OLxy\r\nvUO3hOiXj7xmHsziDbZufaTyGSfQOCE4p7578KSqlCc7IjabNlXB8/FWllBr\r\nvDNN6VRXA/jiEqcDQqvMbOBOQBvnxHn+FeY4ZQWomgvmR16r7Cm2Y7gI0ymP\r\nNMbROwhauP7c0ePGBk2g9YrAYd4UXAYOleXniKIxXzA9q8+h3SVbD5UEeEWf\r\n9Aeze8mEiIX4hy5aFQh7E4H9xP9Sti/5VUqpIh8hiPdGJem1FEPcZixkWr6X\r\nrQWGZ8Ekl6N8TbfJ/Tm3g+iTF3Ceh1h3RvjZOt9lODFldJLh+L0+ySEdproA\r\nQh2Te8ouHxOL3oX2EdkELcvW4pmkBhtvs2VcjhUVDFHITvbxjpgaqxKR3hK8\r\nzcStW/ZEFmAxOqQ30q9VVYbrHfUrUGE5YHsKj5WCt5VFMsFU8B5ZzhH07VeF\r\n8uw0r6oTlhFMBJpicAGGjE5vYcOHmzklNKJz/jJJq1u0NXwI8UDMMlTOjg3I\r\nfWfgAr4IgEv4JfAF4zAIRbAFueeKwKeadDk9kdgXIAEDlJ2KrYtWrohilD3q\r\n2PNWkr/uQh6cTP5x07xpXK3R7CDIVWEpXfw=\r\n=VFHu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.29.0","roosterjs-editor-types":"^8.29.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.29.0_1660261263035_0.09056123009123396","host":"s3://npm-registry-packages"}},"8.29.1":{"name":"roosterjs-editor-api","version":"8.29.1","license":"MIT","_id":"roosterjs-editor-api@8.29.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f4d992eb33256ac2db88bfd804c4c33d1218f841","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.29.1.tgz","fileCount":478,"integrity":"sha512-Et1Mm5TSN8dFDTfjYK7Vyt+UXbxWWK0R+ieLdmAIPCf0nYwjrwjCS+OeQUhzLxvtRxUSAyLYgYyg8SIaxc/hHw==","signatures":[{"sig":"MEYCIQCj0VNMIzPArFTTIKlBMvhh9F4MTIv+EGS2479r7KGPhAIhANvxo4xq6nA6h/cChM95qpbmvY5nw7JkSwrni4lWd7Hm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1015271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+taiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDThAAnmG4i8UqLDAUp1gPioTsJzYpax5fLNQo+08umd4GpV0XCPro\r\nKtuoZWcAOeMIF+foRp2mpmKYiqxtMkbQIjbmVJTsq0/+pjo6qjjMKDwqMLwq\r\nMV+L/15eAvh9ow45tVJ4SfsEmaZNrVcUQ9aD0jXXRIM8YkrQ4SnZVVyVFLiB\r\nl6n9QyEKDPTbdXa2//bBfbrDxItStHaVqx7OZaPZAUVInwsAppSfrR4paL1a\r\nNyWPTwueBRKVgUjfcFx7Tdmm7AEv/C+5QgYlClgo7p/pmJHyFOAhNLs3wEmK\r\nmuEitZtYMqZ4sEX7OTK3fLG6kKrMS9b1ICuZTnfwsNbos8jtjuZ1gEXvVk7/\r\n491SsnYy7/0qeeJSOnPfbyfyhIyccLvdOaJdWUzeFIFkZXsJs03ytuRLmay9\r\nJ4Vy70NaaWNZS18ihNqp6h2CsuJXBIXJiug5We3k9kLZzFkQtjqjz8pj7kqO\r\nUBLtk9wOPviDOffhkE9j01AiszQsS9v40F3apFblBwp/Cg9EucScLQVYZV62\r\nnpdrdAaMWZTfm+zNwbiqt6gxLCadxeB+DLV5U/+Dbm835p8Q5wEsd9U30YbN\r\ncKfs/8i5sdrsWKxRK2e6oL/kWK1SRjug7+Y5PvDNSzf2CI8hZKoZvXQibOFG\r\nAgmYyD61ip8FxfbbHGp8djxICP9QVD7Of3o=\r\n=1CK5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.29.1","roosterjs-editor-types":"^8.29.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.29.1_1660606114308_0.5652878342572636","host":"s3://npm-registry-packages"}},"8.29.2":{"name":"roosterjs-editor-api","version":"8.29.2","license":"MIT","_id":"roosterjs-editor-api@8.29.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4121d9c9f150d5c654baebd08545c56b303ff236","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.29.2.tgz","fileCount":478,"integrity":"sha512-/np2Lo5vyJXq30DhAN6St7zn90D9mxIduIE3fjNxHw/uowC6kxGd8YTXyPfIfknCv5A4/9dMO8ADkVWHdwc6Yg==","signatures":[{"sig":"MEQCIGr24Jf+VT4F/Blf01VxI4/sBv4q9cKRZQjhBf/7UE6eAiAhMZe70cJCQrq7x2LJuHrcAvnshEbdlxcS/wYzHegAMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1015271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+yoaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNiw/+PXzckP/o/mqVuXkf6tz6skRbexG7n3TJb6PalsKKX17QwIvN\r\n9fgRAxtDtNa5sGnsNVgfMWvxen0Jl3++pbOcAxCo/1EDxP3cMiVvT5ugKiy0\r\nOasXCg6Jt2AXhcQjo+warbHhD0Z9j3qCj4iXpwC6mDzS6k51rzrNeqmLG6xZ\r\njcic6407LgFD8gCOn+2WWJeXMMJ+fkFSzX4tbgDcQlKO8MGsDANa/zDPVxhC\r\ny/dZXlbIEoAymABQxUF7NGQbenGcLe4nrQUwA53oUQbJfdgy5QN9FYjJrziz\r\naR9IB6rKpTYAyJGSa3MyUDR6TEUYRWgjWqENWWgTNx1Qq6YD+7mGWhGZS5d8\r\nqRfM9NNAGakHs1rG3okb/6SEUzN60EKyL9241kEmvNR7ddlpQ0Ru11Wlr4kk\r\nbPlYRmHG7U77Uon9a/bEsbe6TzvoOBfBTx37HP1XLP5f5jsv2Nk9XpOYONAG\r\nF1ApeECQLw6ownZd9vnDhxkhH/bpuR1y18Uwo8BdR2KlViA63jxFFCZ6p0G8\r\nanJo1C8lvCCT6tXXb8IYVTM/wBtPTxJYcQyoPFsPEayTI9uvA0x9jgijL7mC\r\nvKcjte35y+x4MBqPJz5fIU2iiDUC+Jh+WGdqrfEtt8JDMpSZmJAOlVxJ0gSs\r\ncJ5tRNuRQvd54c9pIILZqteLyAORL0CWj0I=\r\n=AJP1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.29.2","roosterjs-editor-types":"^8.29.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.29.2_1660627482205_0.15771612614167796","host":"s3://npm-registry-packages"}},"8.29.3":{"name":"roosterjs-editor-api","version":"8.29.3","license":"MIT","_id":"roosterjs-editor-api@8.29.3","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"766fbebe1b207280ccdf59eccd501993f2f0cd4d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.29.3.tgz","fileCount":478,"integrity":"sha512-0rDzxe64vdTgM20vMUmhy4pnaVvq6K+iUarG2A2msm4mPzaAdtZK2EtH2W0MAatu3kd0DZDpWS0elOZIFERfVw==","signatures":[{"sig":"MEUCIQD/M/7sOmbMSZoAMbaVmYO0yQzfQawTHLtpyM2ahAwrTgIgd/ujCuhiPcqSLgQ0BlJ8Wv6uKaXjvQrSCozDt7D1JCU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1015479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+/gzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQ7g/9EwYVnRpEHVJytElZgU1T9I6f4XlwmO2rVt5+ntXOkL0Q9RcZ\r\nwBxyV+hbQyqQJ2ongJTtVsNF2DAMRfTV6cT1geWuQSiPmXoR9iddSHIsq3Jj\r\nxXESGbRpTIbptutt45twOO8lftQqa61u0sLSkuWVH8cwWiBhLvWJ3py7Snwv\r\nNukZ2eqt4vetG/C7OpW4kCDAHPj7AYZbrQNuJhsXfV2hrlq0vUOfnGAVE694\r\nowXeZLdCbLyGgTBpraE0sBbJRnFr9pcK2z4aZmQ0d1erAA13gqsMuXUGvcJa\r\nEK0ogvQ85hWRkHRN1iyYgL423beKLeZSpgJ/Jk0A/EHlbBkl1k5oksyO6SL1\r\nsQfJ21UDXNjNQidZDDe60QlWDCSa6i/tqjIhPD7bdR43Z5myclWIivpvg7Tx\r\nu41bfbMNpNBVdE27TIMHQw/gaTr3UqiEctFLIyJcZJh3UXF3NfamLkAeF9q+\r\nwDK1+Uz2AhPHfmC3lf3r+aVajug8bKwZnP8GqJ7R8F83TPK2gZeHBOAUgvCB\r\nDeLtKQdhgwGy8BmEAXhZ6+N34Yk2bgqcyVxR6nH4PfcfU8OJm7KHRb5Nsc/B\r\nBKIJ3cgbfMePiuJvk7CCk/lwyE7PFs1KXz5FejI2x8sW3iFEl62dyGVW7RFf\r\ngYnY9wmcjy3CrNQf4RAa0XNg3f9tIeX5A0Q=\r\n=SFls\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.29.3","roosterjs-editor-types":"^8.29.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.29.3_1660680242685_0.5361744240881405","host":"s3://npm-registry-packages"}},"8.29.4":{"name":"roosterjs-editor-api","version":"8.29.4","license":"MIT","_id":"roosterjs-editor-api@8.29.4","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bc3d81caabe1311a19c9847e25f95615aaacef0f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.29.4.tgz","fileCount":478,"integrity":"sha512-/qbx3J+u+xWrFsurBZmE0hKHEbUs8Yh6USjSR3068QN2KFaPThfQxtddmDO7loakxv5zzbIQUjtZcI0G21neuQ==","signatures":[{"sig":"MEYCIQCYiWOxKWLyDyhIp9Tay9VqhpkG6N5i8D1TTyUhtG38GwIhAKu5v6eXHmuqEUXajxWHzI+sB/V91ABDZFPq2rLql0aZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1015479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/CYAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyDBAApC94wXHnZ/sHUmxbSNWwN4reEDZx3Hh/lLp+tG6d9m/1RzNo\r\nrNBVRFJSIPl0ABNPr0HVSwoY8XQrl7JouXzFkvZ7/QitYSABdiSM3rHhBwNm\r\nWIwGrd1jYi3k/RjfsfY69N3j3Hu3G/3yWvVqxFK3fzJs5y7CrHZtwI5GNRJ+\r\nOJEatisLmL7YTA4N8416hry2oDeE31dEya82Lw+nt8AkMhjOuduSv0zg/oM3\r\nYQ8EuFXQnJpjXgCLsfEyHZL8QRT1/BPu4oJJHb94yC6oEoKRFSbtisJuBnxi\r\nj+Jvsz3bklHF9NcGhpi1Wtv5cjSOb8Pd9Nnka/KJVvbSUmggUaVGMMQRbY9p\r\niy/THWa7X7seyxqplD2sP+L8X1nQ7L4a44ZAxrcBpUiVZShvq0pOepDyfy/o\r\nWM0EUzkQSX4RuTb1KYZ/zLlHWLA+xi/RkDmmeoN2QFahtTZYU/HfGgdXdU4C\r\nz0fggJ92qo5aucHwfGHZx5iy+OawMuybGVGNDQt04PBm2h69O9b+mTU+Vcpu\r\nJVWc3Ce8s6xrjRzAut2m/2JtNgNZJOO7bcagLRdXF7yunZ02rZ2m7gy8nKdV\r\n7RVRYB6/mR/O3eUc0oLUbjl0MyxryLaibWyhfpczuakf+G6ww/mLOLa4J4eN\r\n8b9kf1U+OTgfqli3uos0WflIQRgpLTIb8Ds=\r\n=IgYk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.29.4","roosterjs-editor-types":"^8.29.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.29.4_1660691968579_0.29945578238476367","host":"s3://npm-registry-packages"}},"8.29.5":{"name":"roosterjs-editor-api","version":"8.29.5","license":"MIT","_id":"roosterjs-editor-api@8.29.5","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6b09befb4f618128e19d15b7cae5d34d32fcc736","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.29.5.tgz","fileCount":478,"integrity":"sha512-kqhR2ZB1k53SoeevAN/wlgUuKCUIGIQN//L4es0ySVr5tOyrmwDFJc49qB1SNg2x/Ui/CCAnZXSfl9BUmFUeNQ==","signatures":[{"sig":"MEUCIEmApck0sx5Lvjz1jw8iiiiqu9P2BJl+h9ML0BLnREPEAiEA25Nw8C+aatlJlOsPTEcvetUskRpyyC4J/wkrx6jU2ok=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1015480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBVLWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfpA/+KoCtzZ16p+uM15nqTUj3J5lzr8BJ1nWh2m4Cfab+tMIvWlxf\r\naM7Osqr2BRNEWCQDngdQz1+JusIpcWY0PHmS814wCAxnrHkKxRzI4ItlrzT9\r\nNxUX9U4jJvYzQwqdpDbr/R8wYVsGRJZpJvvCTchGNQP9dqE4iz6SE32HlYkv\r\n2ydDZdQQNNZ8+FZjTBswEKjuhzA7mtYmBNz7FDqttg6N4PCv0DrFYB4xhwdi\r\nlpgkVxraZGwjmwSxKKjIMctuUr/JG2WXcNhywgkEgvEWC94BJyEy6KmhatzY\r\nik6f9mqjNyxNai29zseHLTbM075eAKB8H1CGpAJaFIHyaE+DvwzfGN7yF11T\r\nTAm1WESuGE3HpXAfMF7fk+ZHnk2/w8vfLSL7q35ML9z8Zg7QfpT+wroG2Z+U\r\namSkC2cXne4cu7J7mMWwoxdXi370U9tGcFrdCaHrGHfLdqkkBGjRtOEURfhC\r\nCWFJINoKxi+M+6eTBoXxONApdXFAnRmYjQhSIhaxNHrBkVr+4UzV7nVEmKAF\r\nOhOXIqJEMBRp68HRoxmynAUmdRatarlkviekjljnzzeOYSRS5Jf/BvL7g3Vz\r\nF9n+S9llkQBjiOUF89gN0VADq1knJw+UZpS59hVdMJTGa1uY3h6Y3uUxiWqE\r\nAZX5xcBPI1A7RccLyDDN5J0ESy6XXHp21jw=\r\n=ROn4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.29.5","roosterjs-editor-types":"^8.29.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.29.5_1661293270000_0.300149546884908","host":"s3://npm-registry-packages"}},"8.30.0":{"name":"roosterjs-editor-api","version":"8.30.0","license":"MIT","_id":"roosterjs-editor-api@8.30.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"2f0639169c5722ff527239a2a7ae8482a7f8d02a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.30.0.tgz","fileCount":478,"integrity":"sha512-6TUFXrUAlqrs3Fa9Jc+4J9SNIDcipSwrf7bZJYtxdaEx4XrGzkLtj11rr3Q2larhroogHecsXZIalo363epatw==","signatures":[{"sig":"MEYCIQD53YJCs3LjWcaFjuIzsIAW5BuwxTpBxFhXc2pmNRqscAIhANriQbP3YhV9T8+ztfM8S7enrB8Dtm0HVIRI5R2ZcBKc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1018646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCPmuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+AxAAnZlUZT7WBHissazPuv/2pbN3S96LRauIRfMfd0zkpECs49F3\r\nXMpt9UDv4YCeb4IUtc1wQ3kggGkC+jHRPVGpPLMA9FLdj/I5HgaX+VBmeU5l\r\nr6O9MTHJ1NhT/mt3drnYBe54Rd4NdIbcVOFusmRKFYXVv0qWypIMl7jx7UGM\r\n8HcrUKYEjUgbSzhMRpXguFCdzffCCP+E9ix3nrLMo3qkO+KeaHy9F63F5vFJ\r\noP3AiAVdz9q0FG7q8bB0Eo1lier+/RXGM8Ox4VvECU9fetxHdgl2pWbh7hrK\r\nxN98DJBPElpve41n7OiSB1feoFlQ2r1aH57R/UVUeg1EVeceJ5DYJAeHJuVc\r\nK0pzu6TrE12Y3SmDHyXmVS973HgsyvdzstrqR7+eZcyq3lixjC/yhVd7t9lg\r\nek+5QXJloAnGEtsVX7h9WDjOifebFY1ESwEM0QCAT723QoI2bS7y3+oTkc3c\r\n6hHpd62fZxAj+3DlljL7bZwB4b8hFd1Slrbf0h20x3Znen21qtdDux6MkHDs\r\nITdCOliLi4VyTA/OA5eHdMh3ue9Di9Tq0/mK3Vp4OEQMVbEfb3eLUaaCwkp6\r\nHkyRafihnqZ0SKaUjh5Fp5MQC7J1c67jN16hUpE5i70d561MBoeKbA84zsZv\r\nFwWpjOVZ8uDNr/ynqTFVIcxZsZgkOheYqfU=\r\n=qY72\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.30.0","roosterjs-editor-types":"^8.30.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.30.0_1661532590245_0.9545928893541187","host":"s3://npm-registry-packages"}},"8.30.1":{"name":"roosterjs-editor-api","version":"8.30.1","license":"MIT","_id":"roosterjs-editor-api@8.30.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e488b7e4ad46a4c7499027983de18c8f11d9409e","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.30.1.tgz","fileCount":478,"integrity":"sha512-UpjPSynNQbcl8Q5DnzvcztgLaGhnfT6yx88ISnt6fFjId6efuWe9rD9cyoVKwE7qHeyejY1+9ju8wexnW2vfKw==","signatures":[{"sig":"MEUCIQD1FtMEY3h3v5QdHCpxbCjwuB7rTOWP7fdrApjf7hGBuQIgJsl3iTWTqblMQr6TcOFaf5MzOR2bWiVLdUu64gmLE6w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1018646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDjyCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEsw/7BgMesrJMnrTM1oJM99UOzSaazB4ZKvy0tJNzT5xYoZyKGlRM\r\nZ4qMSxzfz3a7UDKpc5j1xkQNtTpI5O2sdS7PVPHBItQ7SKwxfYZaudlhJNIp\r\nZ8JX92qcFgvxBEwFmkEz1RJQu/pqxXDjDudxXgLwnoWRh2VYGjx/AVFf6iil\r\nRqW9MvneDQFTNV8a3IdsXqXZjC1HIotTcdkmzCQ1aW2JFFjnoEBgCsLHTCrP\r\n/SUlTkgPExJCUFtaIJHkzi+OJGr3hNBP9MOM/yjRvppO56kc3Tch3jxSJf1f\r\nmf7mcJ0whXUJKAKOdQNfVwTkzhIsKYGBLOv9AR0V7suKj/dOGbjWXKJJTCm2\r\nH3aKpeP3gOkJsqxNxtMlYbntwwbD2N0cMiPJG3vC9MT4du2ZMJCOYJAVbF/n\r\n3s8Ng8PT/o7//mYgCygznfGe4H9oiEBcYLry/gw/5MfWEkkjPeFmAu3mvIdn\r\nt2BP+Ns6Sksni24DKgyxYx+9bhtHBwQtPxBrxM+/Zhl22TYcnobCAPSAMVxs\r\n4LqcMc5tC04cc/TcsXPKsj7POxSlpGZS3mdSZE9W307SNKXn8XkoCI3uBZjC\r\n7EywZPZloh4OVogUUQuRyqgh3Swydhk4DGc1Ho2T6YSpx2XxH5/24KEVem8c\r\n5R3uNVbMZKO5oArhG09LxQO30QLSHFI/e/Y=\r\n=RsKU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.30.1","roosterjs-editor-types":"^8.30.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.30.1_1661877378555_0.8296418837422121","host":"s3://npm-registry-packages"}},"8.30.2":{"name":"roosterjs-editor-api","version":"8.30.2","license":"MIT","_id":"roosterjs-editor-api@8.30.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"885635aada0d769e7943de681bff9f11fbf80a5d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.30.2.tgz","fileCount":478,"integrity":"sha512-qg9hEFnBrTJA5dqNrYCXZMbjn5FsMDtahs7Xs2G+n3gL/eU12smjtJiecVa2F7LQ7/yJlSUjkRbRCvM/6Dp14w==","signatures":[{"sig":"MEUCIQDD8jQpQsaqHQXsQ1EqcYfS2wbdznWiRizpKNj43z/GnQIgPzaXZu8H2o4JVfnvti6U9nYifSHk7m7USgq2srA0C8Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1018646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGN3HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpv0A/+PQshWd73kpy+k+HOFLZttl5jgfX310rc54vUtT7OtOJShKxG\r\nywztJj6ChR7yYUcAjCTT99uoeSl+fkEc1B+c89+4OToATpLeMAwl3EnwkCrr\r\nR+jqXdTfjdGN6y7VrVwwCZzG5AHEaaumTwQwyQsDv1TwcCM7/5DZACyxgrMC\r\nLnjW/EW4KDCLuQFvbSm2Su1P1lmzbgSIrvmYYe5bNGFHEog4ZaiiYTD1oTbD\r\ncoPY1ZSXJ0c916zyJEkx4zWTPJSbrv4ekFUGdYWk+v0wDBNz/a7ajxKlPdO6\r\nqK5mTf7Z3dItopqXWfp2TVPURM1TpK1YNi40ctzTIWwF+Yq1Cj8ZoUnYPj3M\r\n4ZNVD27kB33R/gYEFscBYWofmuD2PpyV3/bKW4z57mUKMCmbnu2YfL99ADSX\r\nagoTFNCeax4f1/rYpXUgEGBlAVllf8zsFfbu+3ZYsGAGY+3TXVnokNgr0xYl\r\nUgw3LjDDrAzC1ajHQRmpzyG9KzuarB1N2LPJ7batl4IyoyY6K46A9xCtPijK\r\nr+PTf0/Vc2C/4KdbXXuTfTtqRGLuxhs3a49qN0K5mh0CYvYJFwpyrJ55KD6q\r\n3ue3QGL14vUdCD585o+XpAYw//ZdZNSzXkSkytVWyLEfheOOYZL0wzw8511L\r\nTgaWx28gZV30Cl+SqWG65qxsViWJZCA7gkY=\r\n=eTsF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.30.2","roosterjs-editor-types":"^8.30.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.30.2_1662574023384_0.3044111783207364","host":"s3://npm-registry-packages"}},"8.31.0":{"name":"roosterjs-editor-api","version":"8.31.0","license":"MIT","_id":"roosterjs-editor-api@8.31.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bedd5ca922dbacf2728d829cd502f21bf8297d2a","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.31.0.tgz","fileCount":478,"integrity":"sha512-mHyy4Lx8RGMLo/0GIA0JLkryQYvY7yQ5I9BzfY4Q93263vA6XRsqukQE9eOkoL34eWgHVUDWsxGvAd7bWUj3mw==","signatures":[{"sig":"MEYCIQC5ZAh6DqthqH8GB0xrafRB0d48KXTXRdwQ/fGxhpiAOgIhAMBCcCKpODqH9VK07t3L5NFCVxjQmjI3HlYxMNXHILji","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1020099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjG3xNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEgw//coxrcspkPYehLaEiGlrGbVsRW5WhpIj3r6tq//caneC+1w4R\r\nSxpT8OWY7mNTeMinPSbVtEaTgSf95Q9B2u6R4Fpde5z1tDJXAcBZmb6lZQ2o\r\nsFcg9reFug7YUF9apSLt2vGrTddZPwW9QKrDUooSxlIN71nLhnHWFDJ9MVVt\r\nRh17PNXSDEbOm7aj+D9aSmS1zzJ1msDDeTsXVeHGA7ydPbWbD451PPw8IyHj\r\n/XMiFiOlWoF8wmZMj3LU0/q3x3sXWctNR1sqYOFKoH4q09rO9hbtK7LMV80O\r\nEaIkDfUE73S8IQdiR1z7NP7pcRYwiZb+Ueo4jRMK9eDyS2Fi1XY5pnOxSTs9\r\narNvGnBxPqKbUFU0+h1IBYpNTPr/WInxHk4vljgbkttC5vz/crox+y9S+Gck\r\nTtNXtzEBbG1wNU7zsNKuAlpNsdNUTiKABwE5xT6YSpT3kHMP0rf9q/Dkol2C\r\nucdY+MVP/iaqMTRnLab6LMYODbm3beHBU6hw3JI3igUF6UwCi4jrXC5Fb53F\r\nmjJ0veeQtb7rL95DI7JKA7s3jBEiFkKwRXzsTKRDQpue6iwtv73C2rmqVjCy\r\nhteedrlsWpZA7G9tNoD5XTWPlVwwkpXtkVP8YSBu9ky4CGAc147oHHL/Q4E8\r\n//cP7XZRFG+F5JnRhdLcizERF7NfhRFZvzw=\r\n=qQLt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.31.0","roosterjs-editor-types":"^8.31.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.31.0_1662745677132_0.564745067499473","host":"s3://npm-registry-packages"}},"8.32.0":{"name":"roosterjs-editor-api","version":"8.32.0","license":"MIT","_id":"roosterjs-editor-api@8.32.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"8b05a01c973f5bab33d30a9b22b36ed87f6fbb8c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.32.0.tgz","fileCount":490,"integrity":"sha512-67GkufKkQlr6XZniXggAbeTJ+Zy9uEcMCFCHRAHKhr+t2q5lsrrG8kMoGeoGSzZ6QOp4eMDFBFprFCmUO9VK4g==","signatures":[{"sig":"MEYCIQD6IJoBPB5wXQbZlopcTs1yeAki7xh5DnmT2L4KSyc+FgIhAOJ1v3x2J6EUyEm98ar0ihPyrZpdNq1oq5K08s60n03P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1037107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLjhMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1Eg/+JMLQRn7+gWenLtaFjY/3XNzMw7G2HBkkIMiCH1y+N2mnSFTY\r\nAyXaSsWEVpYn/0w/Knx+RGI+KZLpEGgXaL299uqc2gUU9JVvjWlxeesNzMQj\r\nEfy7A1Eg+z9RqBX54RuoKO6UaNplMjJPlZZrjhzctbR9fLJMeecyxLED+lkt\r\niIcDoWbY15QwLrkLm4AjpVf2hG1X5Bc2wcJ0d6w1NboEBJXjfMsinH92o67D\r\nheuWhAnS0cxbQuGaEWhTMuJcxj9o4QX+GELUtY3oJ4uQhYPAB/+7zypj8l8H\r\nh970H2kziPhYlMimhxOKcqr7Mogo3pqBEXpH2cu+xuSNoUEt71GP8c5PfJM5\r\nbkjdvn5YqC2rzaCIMcEkM19Ts5QVHkorB8Lbb8XRx4qcnwdE520nvWCC73zi\r\nJ9DK2s5mkGBA390zu5TK1n/G/ca9DHp+J+O5DCZ5jhl2QoEFAVcnwVGTcDbR\r\nk+K1AWNOp+KjXFSsd5HEyTDYO+vEG1rr0uLSRcR4oYS6cHiuUDsyi8fzi9uj\r\n24r1kAuQuJtHE80LAT+7G1U777RvGOR1L0H0U3GofFsjKRbB955w9xtv0IA/\r\n2Osv5EBLB2eYRuSLtCvS60VA/CsX3mpiCeLcoCN5H+hNn5SgEln+vCqbLzhU\r\nzMP164T46ILYIv8ta9NnY6HPSAp0pmH0gY4=\r\n=/kNP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.32.0","roosterjs-editor-types":"^8.32.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.32.0_1663973452456_0.6411933433400183","host":"s3://npm-registry-packages"}},"8.33.0":{"name":"roosterjs-editor-api","version":"8.33.0","license":"MIT","_id":"roosterjs-editor-api@8.33.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"21d13dca5d1c256fc0a72d5ecafe4de7ef9a5edc","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.33.0.tgz","fileCount":490,"integrity":"sha512-sdOTKUwAmRZig340msR9vIlPdq8fgwmOBnn3Nu8nhFXu4NapLyo0Bbm6/t5Kqul70jYdCZ+TsW1XX7OSg6kuHQ==","signatures":[{"sig":"MEUCIDHwW0AuEL/zgbN49kttX6rq4I6jIOx1MgoHxPa3NCYxAiEA9RQ96bwDGHKpXqvrPr60NzTg4GNbsYe5gGgonMYwKRs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1036818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjN3ITACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+kA/+Pu0MLyBIDurYfPtUQzjAoJ6EktdMI7hTMFQFHsMNgb9Pmxmb\r\nw7d7I7eDZLNhlJUpsgzimRAg9oi2qtP3GTnFzRk9TN3H+mCRAuD3wpaCXpGv\r\nWVFNF+xlRD1kJx4SN/g8QfoRtwYx/tqBXhs9ZuTqxzcxkXrL3RI4hCyt/UnI\r\nYcR09yuUjcXMucN8EyQO2or+wj+3UUoHk8lkokYANL2n4iHI85wozuGolw+g\r\nV6OBaPBqDnfUg9qdGJsGsqr+5KTt2vRPQZQJWPSDVQeuSsF1Vv8/fH9xKwnx\r\n3QBK9j0uLUWZ68KOHwTLQCcI8v3jvjFOo9ZimhPml8vLEk8PD5buJ7mq4yNe\r\ndikjL0HFWsOix5JRuvAHrywUnVb3pf5tsySvsjoNgmaZOnGwYx6+CYXz1Zsm\r\nplD62Hwi8Ohe8QUjCD6RWboYKEYWzPyfY0fFkIX9sWdlBITOQc5mmhJnSrqq\r\nmwPjedQiBY1V7Umw7YR4IuuwUKcKfybf9zZPM52uA907QtcXah4KbnyzWfLS\r\njAntN+DgiirhISRTnhbsd9Mw9ise3Llwcqw/rvYX2L7Mjw8HeshurU1XPvE2\r\npmxrc9bccTkp+h1YNPvSskg7+hDhPpMvho2ljCnZ4/rTcHma+IeFfG8DERNF\r\n8yQiu2Xo4m/FTCjoxciJF3ydVOpiPAVYQI0=\r\n=Bjxe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.33.0","roosterjs-editor-types":"^8.33.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.33.0_1664578067233_0.054944201733840625","host":"s3://npm-registry-packages"}},"8.33.1":{"name":"roosterjs-editor-api","version":"8.33.1","license":"MIT","_id":"roosterjs-editor-api@8.33.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"2f8bbf96ae39309bc5ab9ec039bd8f6cef945d53","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.33.1.tgz","fileCount":490,"integrity":"sha512-LA6dzYcc3S9VPFTsGDlb2RxoeyP46xHfl4lRjqKNEeXsvVpw85igKwmrI0KgjMyDXHGqdszRjnGMkf9rfbi/6g==","signatures":[{"sig":"MEUCICdWvgqiR705bUiQWP4CO/ASA+LOCvXFbqNgVg45BYTFAiEA4WGlhpyu1eZcuplpf/9vgHukPLH8p882S+/D/zYEBDA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1036818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPej2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWCQ/8DcI2xHwvjOngfXSuUmFkKWz0eMVuGFd2s4yuA65CCmPy3AAa\r\n/QLkgx8WIY7MZce67VV/r3Fj3vhzHITpMILPoMxyn8lutoHUvc+3sj/Mkij3\r\n4y9pPmrbtnC4+MVRQ/rMri1MdyE9T7QJe4mwTwXlyleOLC9weMndYnRa9XJQ\r\nJkAK3va+fAt8JZpZdyUBMv7Z1NbSEVufbdYGe2GC5GTU+HQ9hzO9wr45ILdr\r\nfEq1B6aNJ6yrrabXtI9qCjk2celhYzZlDBJCQCvYGFF0ID4i0N2F8tzQMbHI\r\nWJG4rqeBilst55Ak3c9oi8szD92nk1AUznbvVybE0Pw3dgfD2BkI1G8hJvjt\r\nxYXBJDGVvB4ILDppKu0mnG6r1JELOW6+EXf4goJmZsm8QRk9smdE5lBcggdU\r\nWCAN5H9ovmUXgMMppxgCGelbZ5+T2khB+BDPMkP66+51spYF/PkYWuVMMbmW\r\n6WhUi84tEzAI6WGauhqL/fLDAWHWArroeEA17JFHGTqxxLqNg2HJhWdxRAQB\r\nssG7SdMh31a3dy+rUpZ6+F2icoDZVGmGpShBDrIWJmdDQtAig+Mx2CioAauG\r\nKuVDMHfkFFFOBxKrO/O0T5DATV7uZO2CnWvOht96uPcjKYyYZe+zRa/7fzLu\r\noxfZOPYgsxesgUIEeSOM38vwJV/J2HF+B/8=\r\n=FI2f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.33.1","roosterjs-editor-types":"^8.33.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.33.1_1665001718618_0.23540441142679236","host":"s3://npm-registry-packages"}},"8.34.0":{"name":"roosterjs-editor-api","version":"8.34.0","license":"MIT","_id":"roosterjs-editor-api@8.34.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6d368ceb25933bbcd22e1d3cb504554f76a95455","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.34.0.tgz","fileCount":490,"integrity":"sha512-r2FcQnZcQXuFYUn+L7Bmp+CK0jH1p/RUc3YSylh4v3kCYRCQ5rLDbENw3aoy+pSNGEmPlQXOYa49RoturerTMA==","signatures":[{"sig":"MEYCIQDEtdcZj7ZYgMOoYuLUOMzUaGYSlxliqoy+HSxgsL0vQwIhAOSaSHjVr2XueOtiTg//PCZo32hUB+xg4PULG00jUC2L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1040474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSe3zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqjkQ/9HZsf47SITDM/Ge4vxM48y5c+Sxfgr0UxAqkRLalsV6ur2MKZ\r\nXVDgZXUszcUNByKj+3enuDtVg/4vBcbljtCMUOS+1InIss23ARAsagBtSmrJ\r\nWXaax8aM3Kdrry7Qtba0dzTqGZB8pW2EzUyzUvvwBRdiNEL2FRBcTxWinf7P\r\nH0NPJ5Y1U66SdrX42mDsgqEIuV0jq2S2lD6mZugjCeyeFczIHSDo0sEa2sEC\r\npZRuHgJfvKinVlagxK8hLdozA+oMBPRX5TKkXV8o0faWLeniUM99ze3cWI1D\r\noUPhSdWM+osojKnr3iMKTdBG5IjcHJCFnd3lWHZWx2QODWwE7vR6hwRc6kCD\r\nvowFf7j3nzyFo0cXpmEL2cOqe/pvqLSxPU7m+TGeim3RJ7tyqyhn9J1oq3bM\r\nM9vFv/frCp8XagicYCqXzXG1wfP1baaYbTsBubZg2G/MXs+ZvCq24PTEp/BE\r\n38w1Y86abby/FTTKrPrzSzgHZ9jFDU4v+gHimmxwzYxKtFO9CmG1Y0dPuRk9\r\nYTPk6Yy5kusYz2RHqztNOsvKqdvv682hEb7/dAoPXT2LQa4a319oLpquHE4T\r\npoiRpw/SZKDSKcDXvfZdYtD93k7suy/7Jui9wPoPEyR0XNUzYczM+GLm34tF\r\n9HmQTDSWa/lp/AZc8+iTYstxwdVCml6s8sE=\r\n=BbBh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.34.0","roosterjs-editor-types":"^8.34.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.34.0_1665789427418_0.6501923737144155","host":"s3://npm-registry-packages"}},"8.35.0":{"name":"roosterjs-editor-api","version":"8.35.0","license":"MIT","_id":"roosterjs-editor-api@8.35.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"de50513cc09bebd7b95a9fe10f7c90535bdfde87","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.35.0.tgz","fileCount":490,"integrity":"sha512-OPs2jYUN0T6ihINgUKdawP75uWldwktsfY7qy7Cl47IEIdEgUXsP7313JuD+URTyXZ0s3gHo3D46RWhqKjAbsw==","signatures":[{"sig":"MEUCIQDFEd4HNRBINo9ENQtp0unA4pYQOr9CnFflghxJDM07qAIgPodTf670Mo2Oj7LDtVH9Er8HwP5OpZbZwV+4Qan1kv8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1039979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXAyxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqgnQ//e2XrSzfLyvnm8MPE9y3gBfAHMy+N4itJFPMNqhBT+ZxKLKtl\r\nV1wbpeUsQbRGoXTPl9eeuZvsiwOvKH/sQvoKRmEC9ldipiUfD05V9nO+7tyr\r\n0iLH9QvDg3Vqd59gn8VqE0noPwbqIAsJjU67KEp+u9ufJyagFFhQiRATFNAz\r\nKGFCKBeMzXYv/Mc41/oIZH+/JvC8H7rBEThI0H40BFLb2cR+WTRef8VK7nZy\r\nH/ZeA+CLPhicI2b1T+7QpGoc8TlIkaoUKB9BHQOiay8rd4csQXtJtkmyX/1s\r\nM53mOyl4hF7WgLcH4j0b2O5NaPiA+nJI5jWauHUrCX9MSfDr4KBtDGmJFxKF\r\nPwZrzOP3PEUWw0yCbiA9XTaL/FGAxQxHX0751pTOvnl56B+Gsyp/MiMib6CI\r\n2arQlBMkxng3+nmykkL8gPLunIfAkRRhGjsdCcyr0EqkBaw3/V5WLsElOvKd\r\nE8KM3TrpH/hcvrBvURrWhFZDA0lvxDkIKTLu6RQMXud2mvrH5BQDaCEXpEHp\r\nvNa1PvBYO4WbI2u1Qe14DQ8QKRX9dS0Y7Rpt/cvG0UGpP786lNEak+IEX+2H\r\nkR8m7xGsQTRhUc0daPMsOKM7Gi/wNRrfX7jPACkVSNsCNC0UcZ7xh74K2j14\r\nSL7aVjliiFM653Ls9anp+niMnw/9TumqhHk=\r\n=amFI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.35.0","roosterjs-editor-types":"^8.35.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.35.0_1666976945240_0.8663342338720386","host":"s3://npm-registry-packages"}},"8.35.1":{"name":"roosterjs-editor-api","version":"8.35.1","license":"MIT","_id":"roosterjs-editor-api@8.35.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7f0c1324f27853b2516d28f641d7e25f220fc6df","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.35.1.tgz","fileCount":490,"integrity":"sha512-ySw1rkO84sCMTyFHqv/iPRiCQbUQ7N6AHocDgFBGf2pnTTF9uI52vrpPAdHmUxjBI4uTX0xolmULtsMgegmihw==","signatures":[{"sig":"MEUCIFhgJowbnvZmC08mKB0t8DWxyM1froPOrpITP8o7dQdbAiEAw/BDonBCk6E8qY6USdxr50+UfreoymEmhD5n/EM76UY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1039979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXEk/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuOA/8DSQlw5Xz07OU38c+h9H+Utx96DptI/WnOhyj7rOGQAqx0Z0s\r\nu0WUHe1vyEzMJvsOn1wVq+527zxY4iHQLLFibw0jsSYs1btAhwr6SYA1B97H\r\nB2BpNYp+3lqgVsDrDr6KBJ7wRjqhK3A/q5fMHmg26LYILr6rmkvaOVtJ9CvV\r\nVpw5N70574xbXZXjAPT0BFYye3bccdCAFLKIuVgUAz4gQiLyd0AyLW/7O0tB\r\n0rhsKig+e/VLV0g5TgCbYBd8630oewKOHJ3Oo3zRrMET9bOGjCQDtw88wHj7\r\ngtr5Gd0DGBtwP5jb0OU6xs/Ug1wVd6fEPHtTRRP9T48WfwxkDZyV/FpFCz2o\r\njH31vL2LmmOPoNUWlPcUf2Qe0oBlMfLOi++XA8cS4ly/2e9pfC3+mKew3okX\r\naQr+szzKXE1o3wUHu/PKjXh05ybxg7EeD3Mli8EOLP2h2zMqOpZh/7+l6751\r\nnGMIYVF30Mar+MngFnMoRZaTcMUKRedy/L9JyzlkL27CxJVQrd8fn3Ypc+PR\r\nINzcntfi50iGez6Pgky4s4ZvgbFIpT/deovuxsBH48ROGGE/jAiCs4IzZDTj\r\nDXFwTxoF/VxR0qgzLGU4iMqugyIkPpyA8oWA9zRtyMBt0MQZV0ojAQZ2wPAR\r\n3wBedwYhmdL+a79XzZHoK+cltfxzvUZ5dRQ=\r\n=0ApE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.35.1","roosterjs-editor-types":"^8.35.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.35.1_1666992447179_0.3056073811086337","host":"s3://npm-registry-packages"}},"8.35.2":{"name":"roosterjs-editor-api","version":"8.35.2","license":"MIT","_id":"roosterjs-editor-api@8.35.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"25c6f8d674502551d107bdf1ff335fc4dba8d7d6","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.35.2.tgz","fileCount":490,"integrity":"sha512-MNjVd+1476+Pb7Zxkqa2Mco94NGS5lRYeY/++1UZftxIFZND+OzdztR6cZ3Q7NNOUaWdI6aZNExE2+VZreowPQ==","signatures":[{"sig":"MEYCIQDvzm/E8ek8kYYTBq0YrhrC2ZumKc98/E9b9L1j3ffFXwIhAI7xDTk4UnAZ10jHeaBG7MbKa/2lNYPhph82mLvqnI82","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1039979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZDJMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoz8RAAgWs+zZ9enjRCiWDhkfT1IwtaasZWrCZRDpW1f8o7OPTdLHzN\r\nimunUs/bhBbmfrKILpf2p4Re8fCiLnkDtEP+zGpNWcT75uF0MVaS9R26HBKF\r\naO9q3Oxo/uj4jVrsptPeJSm1Z/9L4lcbur1IOJYqUT+dsuhTgQ2/kqBiloWi\r\nB8e0SZ8r/nHhsIqpFh3O8rVDlPrnRRvlF5kapuvevxa7XGZ+APl15nNJTISJ\r\nNgJUh8DC1VoX1MXXH/r8Be4QVsSFjN09aCdhl6hoEH6YxKOOBuC54Ageiiwi\r\nZ8kvmNnYT9YT68m2lmAGK8UZaPrRuTiznOpw8UeFS1x8b+ykWQ6Rg+xcwCBZ\r\nuXkKCg1uPxOgJCM7uVkhpc+fkOfNFNR1FaykwocegFFmMfElyJJUfDsDMeOx\r\n3N/lsZARzDB3+1PjDqzeK6ROiVttThdVSZynEOgM1+qp1zkDu0WpJ4TrX8hY\r\n+KqbPpJZxHkQzmWfIewgXUeLMYMke00kVhrjzP7f8ZOoy92YRQAow/iuF2S+\r\nsP7AnDMKe+3Sk+S4te+Pu3ViHeFjFYPkofAGd01Vfx6ndNKD2kgV2Ki5HCy+\r\n6KQWN8enI8s4Wz3fRuZGwYmeqlcC6x8rs+Ar7+/LctkRYYm6e3UeVAUXzsIY\r\nfWFttyr2jpcVavF1/LfrZnMFpOthN/HOPiE=\r\n=VTen\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.35.2","roosterjs-editor-types":"^8.35.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.35.2_1667510860028_0.681152249821676","host":"s3://npm-registry-packages"}},"8.36.0":{"name":"roosterjs-editor-api","version":"8.36.0","license":"MIT","_id":"roosterjs-editor-api@8.36.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c2ffcda81ee420b5b60aedd1604aec674aa585fe","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.36.0.tgz","fileCount":493,"integrity":"sha512-TUseDgVq+rVEP75M8tz77M7rsAK5CSPTxRioxw+cke9wD8nQ6H+h5ufMuDO63diANCVkWKjFJUX4fMmNol5lIA==","signatures":[{"sig":"MEQCIBNjkOSAk4/ifK74WZR4fd43KeAnVFmggSpyESA/YQBDAiAuwRAWEYLDB74euKZTVCaPSy8M0ZCnWoGNpRWAtYfddQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1220465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbp7TACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPRBAAlYRN+Yod6ThaeWKpLn18Lh6Gv2B3GTtd+/QPPRpSmfxJk6Nh\r\n9qnTTllNfnwA30JBVb+MpBUNelO8AnPE76UXmURsdnLXw5smRBc65hZ7cQo/\r\n5qSvtW0UOkN0JEXHB+wfxJW98Ed9NZ/uNThKebaf4jLdZeaCtV4Wy+hySRV9\r\nD0KNYEeOaGzHfF0XczJfI5hsaGHbmnCy33Vl2UnTWKQ0VPPTFcThX1cXSw8s\r\naB9DDan6OjO/1Jq5wyz1NEIlXUJQfnIYlHjPiSPmGkB8EuxhGDwq7Q7F04yV\r\nSVR2XZDfSuwkUidLmHH6Mw3je/zdwgoDRvSMAk8DIXl6E8dYot3Ftx66gDkl\r\njMF2o6LJVhHycbZxx1zlDj9BfQZ5idxQOCnDWAprihJdfYlhjZd/P+myZAV3\r\n/QYBuSHMClwb9sZuNFXljaCn6rxyjkd07hJ1qNLAaxw8idMtEV6/SOaVkAog\r\nJr+4yrHnpi/25L6CZWX5OeSF5xZ0+uYJRvLVD/6+DebvT238moNQhUOlyP30\r\n7rtwazPOqGDr/V1wXovYJWBYkEvUhH8U/5APzD2f3MXa0v4T7kQcwi58STfG\r\nWQtpK6JjCh7I4SsJ5piBoMq3c4rzjZ/zXO4DShEiMRaBR+aH1vkl0cD0iA5W\r\ncCFCAKY251tTMVYuXonVI/Ohuz5alHN2udo=\r\n=Y5ip\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.36.0","roosterjs-editor-types":"^8.36.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.36.0_1668194003148_0.4950462741121149","host":"s3://npm-registry-packages"}},"8.37.0":{"name":"roosterjs-editor-api","version":"8.37.0","license":"MIT","_id":"roosterjs-editor-api@8.37.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"b27e2c29027d8e680abeaf3c8ff4397c128cc85d","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.37.0.tgz","fileCount":493,"integrity":"sha512-P10+pvR4pqvv7UoV4yNUW9rZnT5vL0hAQomIMRVo4lAuT3+ML9IRWVD9Nz1jDStvywosIPoFXSbVeWa7C4eP1Q==","signatures":[{"sig":"MEQCIAQ4b+d5j1SrZH4tA+uGBo/B2krJ6C9PlOmYPiZaQ93fAiBktYRTyOQP7ot3Os2OqpxIEC/o7ewaHrM4FN0/HXIdxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1221107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfRfrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPQw/9F8P1BGX7ak+CtwGo+cQP/ldG9VEBPUZ+NMNzwTVmAv8gBIIC\r\nSzqpkmIinc0lw2wUuwvVgXx3Ei1KWMOo7vuPZiMWjZ0acJMJWU7Zg1fyZZkW\r\nbNkFoq6iEDzv6gqZsvqpAb0sJ6JGjH/eslHpdQhPvLXu8w+mTTFX+jhbVkXk\r\nz8YgpQZTr3oU+YAcKkbEM9muwCPo9nX2XuxuG5TojEWOThh8NmMId29qZUOo\r\nOHPU8MTE+G7tWhfol/lT8yXng9RGaRoTaSeobmZpa55OuQ0MNT376rhyRsl8\r\nKW+G9a7mhWJU9VnSGj0c8wFegCqeb7rYvJAQvAE1aGDylfNe/ksAL545NXMd\r\nmB8K8nlF40/wgK2weivi/QhjtWhbmVIS+iR4IXju8h6jBw5/1D3eDkRHu0wo\r\nimSpJnYLaEl0xwqQbBBcekD75/DsJ7w773gO0fAsDIWGaNY+no3eVQ70CXf2\r\nGg8cTXJFyn3CIAIgdKQCZTeRvL2eFBzuZU49LZel9GwPXzG2cdon+Czon7c5\r\nnVBNr/ODI4puajEziA1XSAExQVpulxdVWf4iwdHyeHHEpHUzHMMtQN9tRDCW\r\nBShKzV/zVmvcChM3AiiH6UGs9hRKhlmQ4PYh3u0e8H0vhH6Wn9gV8jcF3UBd\r\nJiu3Rkc9oGmGqIvLM3dQ5ifk9iJo5r0nFZs=\r\n=K87e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.37.0","roosterjs-editor-types":"^8.37.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.37.0_1669142507257_0.6692230393317458","host":"s3://npm-registry-packages"}},"8.38.0":{"name":"roosterjs-editor-api","version":"8.38.0","license":"MIT","_id":"roosterjs-editor-api@8.38.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"dd4ededda08bf56643fd06d00524c43b04f8dc6c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.38.0.tgz","fileCount":493,"integrity":"sha512-mgPYxmefmXiW99COWBddmOE5KtiRqNjcq1ad8F7TCBi19ZZmib4xR6lc0VV9/08WpWuBTmY7tIBvPhNWG/4nSg==","signatures":[{"sig":"MEYCIQDAnkp6vrQacK0vy3MytPvk7vWw1ifNjHRJe36VQFFQEgIhAPh1N2bAlOxSny2nsiiOhqjRMturus2V594DfVlZumBU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1232358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgPxqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPWhAAjskRRtTb6mkL48AxDL+B0Mr/pvCBjIJs9fsckGp5nIIblboK\r\nt0zhQQPzes2dFJcJJYP3/IPiS6aaz5uUjqTFgGExVZiKrz4ZuM7UoWfKkGXh\r\n9RBfZXOGx7V/sSwBQn0XODeKMeazorcuRJ9sMlSLTpa65aGFMnUqfHknxeK+\r\nkKbYi/tzzi5ByN5fWzJ9YL1zMq7pUI1AVkctSM2m7S3HXGAEWDPWpTbYPYmI\r\nml21ZRzF1o0GqCBwSNB9xmeMKFTxgOH+EqhtgMlJHCnLz9Qi62jbAw8bspjN\r\nMb602ATnHbl9ofrwnwzQSyQDuc6qo/TbIUcJEEn9qY6vxgM0K31YkR+7Wldj\r\nUzqyAekn98ldqTHoVR2Z0bvjadqPx3si0uALK/yIHBtkKAUfqheSyZYU7NvN\r\nalAp0tcKxBpLS+VSBrESantcQqqmULYrL2bf6JYW+kB8b8te0c9sjzleM7+O\r\n57ZLJLk6rVijltQedeT0iUShvWYOVyy2omOyGKPwreAVO7mMBz+ThgMPtBg1\r\ny1nmasNZUQJ2Igx6g56NxkoJDpcamVdt7y+JFW3HHxjTPKeeljv5FlRShDPt\r\noo6f+rI3HYHokJihrkpGgqw00tDZRbKYmIzgjEatGjE/ZyMU/5z+7ACoIWhD\r\nmEjsrqdzFLrNh51J0fgkN07pRMvTFDKukAY=\r\n=ZUi0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.38.0","roosterjs-editor-types":"^8.38.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.38.0_1669397610588_0.05747246065807565","host":"s3://npm-registry-packages"}},"8.39.0":{"name":"roosterjs-editor-api","version":"8.39.0","license":"MIT","_id":"roosterjs-editor-api@8.39.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c03b260c69a4e2c7005d9f6b4d8da8f8fb96d2f8","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.39.0.tgz","fileCount":493,"integrity":"sha512-TCj4ukqPkgOj2UZQPtofQS7HcnGT4el3pv+u6ZD4f3zXDNU9LK215/IdDB7vXcP31MgOkKkb+7mPMV3mb+nZYQ==","signatures":[{"sig":"MEUCIQD6F6s1PAxNPgypAjVbmIXH0kJsbWdtJEUCycoiWgOa0gIgL9+2hcT0kAZRlM7tV5jNZycVR2WqRRzlDoH4/CxZ/PI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1235481,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiVLVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoM2Q//dV6dFzkNoSVCEOi82vzRmzpUJmQse+ZX9rFYJiy1d2LI77vV\r\noEulXeg3kR/cpOXryFJeKHk96snWZlwY8nHRD+x3PsQ9nsFgyYJK9ysgdJ6V\r\nZW4npOHX3vQ4H7TQ89kXlCsvoKUlapxwExo7M7GoWgFdx0OS+fwACbDMpxLW\r\nKQIeOr/qfGKVrbfw4B/71+Xjeyi+TnDSb7iaczURZ2A4NK1rCTOXvcb+sSKp\r\nM3N8uVjBdRLC1o+fieqQQOh5RuQibmDOGMhpCEYBGy7uT9mhVSMijraVorUj\r\nrBnANJaUjd7bYeqWUpOoCz1yGo0rmPQbQwY9pOJLuGzYp92n3n/FJE4UrwjL\r\nv/mjDm8wkaepsXJ9wj3bLARoMPLeuYVB07Sgeb6VtnxZy5UZ49uWz6P6CRPz\r\n70jJCXHDQtxsTXOq0nD7oeIriXbaucaa2SJC/LKALKwwmkLwRLLcfdDE6aNl\r\nOhDcnIF2wwSh+xrqFWezA0npoTZAPmG43aXrv6wrME2BATAMXaHj8dhNy7w3\r\nCdDOzonemZ7cl3Ey+CmzFE3FcgPWdW/sKerOuEEsuweo/ktR30F12DddnNsJ\r\nlfvwzPEXS5Cl3HCrHO0fBYnLYzoNgnDCjROYLNoGMv9lR4RWtWApZjYyErZg\r\nepnBJomoCX62QfLR3MMS/rocgKyaf59XPjY=\r\n=SoQP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.39.0","roosterjs-editor-types":"^8.39.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.39.0_1669944021571_0.9502785657133412","host":"s3://npm-registry-packages"}},"8.39.1":{"name":"roosterjs-editor-api","version":"8.39.1","license":"MIT","_id":"roosterjs-editor-api@8.39.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7915854ad75596aec766eff232bf09a7cf06faed","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.39.1.tgz","fileCount":493,"integrity":"sha512-5Hk6l9iJHapxj/qPn09TfQ0knkvowD+6EwLdZVmCzJOVhMToPh/Y8V/uP+TCX7+BNbJqjJB85FuN7qMoqnDUoQ==","signatures":[{"sig":"MEUCIQCDrXSyGTyudSNVYOcraQnKxupLHRnEn/YTa71OIbl9FAIgGNe7xMdmGNA9C9WZUXaLQ9kJOwmrRCDd1YOztXhqs2U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1235481,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjijbjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfUQ/+OAZAUqtdrbrrrmPUv6ypDhXerf7RdBjDEyEYckNr291RsD1t\r\nWs5KAgea1AJ1ZAc9+mUkccG+drEx8VX+borUUHuVCr/letyG0mQGm3DgZiuf\r\nAYbxykTYjzVmK8zfJcCdEeWPh57ioNgAvmiIaIcSkvgQ+jYrTgGVUgTiBNK5\r\nBY+H4l9+m1Jv7durG3W+am06PHIlg+rmrgZ+UOUxNrqbduWDW3WcCAYtAQyQ\r\nKK+3//+Uf5e/KnMGo+L60H4HuO/LCXVYnguc9Ysmc7UD1s5l0lAnzBaTU88K\r\nMXB7hapD1WdXoM768ql2bY0Aoa8AjuntCaZuHGiEXACSAJNzAWbdBAOtkoqf\r\n9vCv2Q9TrPO/CPsL8E8X3h3z49otjnvqGC9ZWCdt4HWZ+/shopxHluFZe+Oe\r\nEB7tygX5DPnm8ANNrgSBhch37HvtF1kmlJ5zVo5L04ebQgmeM17QU66O3KXP\r\nWktLxxvyVDkz8Fdz5Z9ND1Kl0Eyc0Nw5kv+uU6Wk7i3Jxx0f7VCjtf9NvdIq\r\nLkuKW0PfcQzxBC/V6K7/BsA1GYU5btMmKqa4ltzfEZTAeTBN+yx7kNYtM/Ha\r\nzBX8GhwEhEiXIMAZZtwhsIV1nhPfrRuFwrPAsdW/ferDt9yE3EpP1mU49Elt\r\nYCTdi6viYZxod8Ep4jutCIBEeSCTYz93+Fo=\r\n=a2qY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.39.1","roosterjs-editor-types":"^8.39.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.39.1_1670002402808_0.08459095228389324","host":"s3://npm-registry-packages"}},"8.40.0":{"name":"roosterjs-editor-api","version":"8.40.0","license":"MIT","_id":"roosterjs-editor-api@8.40.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"921b375de48c367a75fd2709ceecef483fbfa6fa","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.40.0.tgz","fileCount":493,"integrity":"sha512-QNwRbHLUd7+lGHG8dQurv48Wd+0jsPjwnWjyuD98pz7jwSRr2MRqDUYAoOlad6vZufyP4zAcmoKE1XfW/awHsg==","signatures":[{"sig":"MEUCIQDnBhUTDf2E0gZDisa9bJ1+diPfoqNVfGS0WcWsS/3MnwIgbjukzLpx3J7504j3RRW0TW2Vxwrnn+GMIxh3+cRs/4s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1232279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvEJ+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmot9Q//U51rbpK2Smeq2L1vbC2K8/bzIQC1b0M1fZf7fDNKx8vx9QBt\r\njwUO007uhCesjgVHN7V215cMedrnn6uGkgj7hWd3UZ6Y0ycVswLZYwB8curp\r\n4gTUZcy4I8/l24fAewSFMltxf0DZSBJMoCMi79uw2X0+3sCH+SnbS04uoZiv\r\n1CB0y5LgE3Km4K2lJisWF67t0W6AC6plSymQxbYtw5AihVIoIjWxm3EWlcfj\r\nxjmEgpU9tO6cjxbmTNt61a8+1zo5lAeikrysc5AcSsrUb9OKMCRd6I2eFMHx\r\nm5fhzkZsbomxE4/Ik1d3RWIT5EGKGCOiZQGsxuzwdC3atBadutz6NnPCJGQU\r\n4LI8BRxbW6uR2PzWIZqYKHF1VXLoHjnXYXDDDNPRLfvCj14ngaAEdcJzTtff\r\nLnR6zoRzr2ApmDMYJ4eb6w675iiSC0VopFn0UmlSOtkfJQDw9eZ4ryNc140J\r\nIz+Jx4OH6w9ki3zAJgneQOaZ8XyZ/ZBE3SSi+IakgDKcqK+E0dgqqVeZV6vi\r\nG345q1jqEwlSsNQg9bXOvYpov/0SVqDG7KwuMi+57ugbIC5lsPgtV8Q7lC1g\r\nILwPOMaslRD3KBgyJT10Zt6GBFN+P+mt2v7qA+FiPPkqQWUBap7/Q+2v/s4N\r\nJ+YUFOs4L5GmlWJEa9EoVwMB2e/nQF2vqGM=\r\n=xDlS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.40.0","roosterjs-editor-types":"^8.40.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.40.0_1673282174469_0.5972719884475997","host":"s3://npm-registry-packages"}},"8.40.1":{"name":"roosterjs-editor-api","version":"8.40.1","license":"MIT","_id":"roosterjs-editor-api@8.40.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"249c7b424ca9aa2216eb3dde2f78f9848ba77cf9","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.40.1.tgz","fileCount":493,"integrity":"sha512-ZYur6cdNUBdHakE2PUodDC4Fd/emiQ3ier10yhCddkc2aRUynVIIXezyfj/S2NrmG0/gdmh4UZEh5CwrSSKdCg==","signatures":[{"sig":"MEUCIFdBLWayDTnF0Nq/GBJnUlUaI2lHCULS99WA7HwnIrR4AiEApUQqWS2WAwI+Rj7j9rfuJ1+DwL2Qt8UOE2St5KhTDxE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1232279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvazZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDeg//aF4nIoSE04B+rAfWlNKZhI9AUiFgmGMLnLNAHlV+vPfBCnku\r\nCSPuGTEc5Nw8AWEIigRmnjr1ybpSJIQKG/USrVJrhYfaXeKUJTE/fHr6PIqQ\r\nLEfql920pV1ocGrsPLSHVR3FU2yWOTxEqFbQJBjRy3yUmxJQHcrzJGplX8dU\r\n9Mb3UCyMWI+Np3BSxOzjPDK9XQht1o3TYJylP2klMRn0MfUPJKYG05DpyuD7\r\nNDrM4Le939NF4VdQsWibuwqfczl8Zm18wYh+MEyDejHbR6lFEUChprKXVhvf\r\nrVKj4FKf8eGB2O+csEf9HOMeYRifrNuf26MINTTM7tk9GrXVnBJCUQmt3drJ\r\ndyl2V2BmmI4aGMfc10ihdRxkx7nduSMew+L8P3bVkr3hBJSslgfnkcyoA96a\r\n2JQwzPtVEokXBnWEetg6tg0D/4DWvObpX6+8IZdieJgPYQTOKWtTqSdrEIg+\r\nhfT4NmeES38V2XwEIso+aXAuQ09vyynzNZjo3qXVS7bzsjgb7vBQb1C/Qud8\r\nO7AjSMINZsa3S+R6cwUcAOpAXQF0O0iAAF5qgWZ8iq6PQS/qu1xCgoqItUwy\r\nSpmKw1XgCtEqNOSny7XTNKzAOdTwuWZTnDIolCbte/P2cZugktKETN/cAzNN\r\nruRHKIgSiuDoajz9Zjb6ZTCXO8ebtAV4E78=\r\n=ZkhK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.40.1","roosterjs-editor-types":"^8.40.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.40.1_1673374937158_0.6927677657230671","host":"s3://npm-registry-packages"}},"8.40.2":{"name":"roosterjs-editor-api","version":"8.40.2","license":"MIT","_id":"roosterjs-editor-api@8.40.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"14a118ba9f9f0bce63b466c14c7fed13259aa843","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.40.2.tgz","fileCount":493,"integrity":"sha512-g6Y28qsk4ah6sxV+iZWubrDCuu0hbBIFcB9IOo2PFwGNiSdN3y6dYs+58j0w9kst/E74MHmmLxCW+6gUybvwOA==","signatures":[{"sig":"MEUCIQCv/NoIIXpPH2QIC1f/t+qzlzpHxuVGyDfQ79wBQ/H+ZwIgEl1vudguhmQkNcwRrtL6NT/BFO3GUrCag29UhqCcDTU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1232279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyssHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmolrw/+MLfClmVGTlx9Ib/LGom6xs3dUqAb5gYK3swlZNap1UPETrX2\r\nPDYmeuFrAxfm3l3UosMKsJOzl/vdVvBJ7p6BeegPhZQWWCXLVVJzQnRF0A55\r\nEHUi14JSeQH8aYhZLwqojhmBjLFww6kENzwdVIUxmE0wofVVlNxmZjkW5+Ld\r\nYIQIoVnuQb3UMp13+QzVlkkSI1NC43tS2UzoYtJEk7yxrmRYDxoO2MFEHz1E\r\n2qkw810U7deDlTObxHApLy3bBSw8Nhysye6DfMDpPzAbbIjMjiv7wpRFeBxT\r\ny/FT7tdR+WpCNV+Kl34xulQ3Ev1/x5NXvMKgBalL9YADXeasw94C80UqJOy5\r\nT/ld4R04IcSecH1/1QgyLcDT5Zl/vQaF9/xKv0DLdQrbCVaY/8YFRC7xbi5q\r\ndoUuLdz2Hp4FyPqRyi1hGtIZz5VDm40PPG9+VVkdV15uNAAFp9b6vqJ0VRaN\r\ngmn2nc68UCE7d1KvVy3JcF5mMtrV73gPaJ+oAThCPnMVAbs1OiTRSsjmpfZy\r\nZ7Y1Frdek5RNEedNWJbDhQ/jjqfES6qvUiawxpGmwHcioTMBQinZ997jrFjB\r\nloxsP/Z8imBmD8ZydJ7RvXiwAw2Dfa6PxIxB5lTnMIq6Fj/UDptitx+MXG3P\r\nna4wqp/Ez8ot5NZxR55OZGOcIM3bR5ph9I0=\r\n=x7Wq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.40.2","roosterjs-editor-types":"^8.40.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.40.2_1674234630800_0.3053087794302083","host":"s3://npm-registry-packages"}},"8.41.0":{"name":"roosterjs-editor-api","version":"8.41.0","license":"MIT","_id":"roosterjs-editor-api@8.41.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"1613cda7a5560021006572515790850e581996d4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.41.0.tgz","fileCount":493,"integrity":"sha512-0MZ+esMMPoT8OkyBAVnKZZuWNJe3wb8kSkNLpRZzieVlfIBLbLKZ+JjHpeYaatK96mOcNkrNaFJMop8JC99e4w==","signatures":[{"sig":"MEUCIGAkP4IiORdaQvNY/YYUol9KgIuLpmVVf66d1zIpsWGFAiEA89ULkS1DwV+fXMpBBL2uWdh8i4yaNd8SATUm1mZOVzA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1238808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1BrRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpwsw//e0kw77A5a7wDA1TVaGNCGeGZxmUIRf+qEVxBEyeKIKz54KRX\r\n8sAKajH4HUlSOUG2nRqudaMRxpItS7BO7GUDH+4reizMVGcIoOBCbza94iVG\r\n48aKDCSu3uJ9ReNnmt75mdIqmaDhdzH3s6iqX4sH+yE5BOX7jp47s5XaFU5q\r\nQd6KB617t8+i0kLjVcWgK5adURF09sK9GytYj2YwBbO4qcwW56lJgQqETjep\r\nZWWYAh5zBiUZ1XBY9/PXTjPVQmJi1jXImLsQviDNnWa54qE7VfcBrWQxDbaY\r\nyWndRketUIa4ckddBnIrChPHTWEV08cm7/WlbtoIds5fFnCY3Z+L/aE/6H8h\r\n9tjVZtO/UcfZsBxbj2nE7+eCowovjKpfrjBnfhunvmmnQ4wZTcFzoFkY/C/n\r\nmYlqqqd5mpujO8rpyBRBnAhZ+RAOhNWwYb1srIIfH099lkt/rOrtZ0lF1FRk\r\nm0bHNKPIgbj9Y0l1itYfyJjo6bLZECCy5Za+39g595Smr9TJuqx/Nx9EnVga\r\nX7mHNMysfUY3GaPE7Q5E36xPkYrfOmTVFgD/RRKRQvb5X39F0lYGx5LDGDvE\r\nFUq+o94bE3TQiv/vb0dkU35fY8m1L8UNEc6HjZUQIFWaNIxUX28Gja2Bw/6v\r\nNiJ0FhMtImFJyh/nWoTzHNnFZPLxGug2j4E=\r\n=L8Wm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.41.0","roosterjs-editor-types":"^8.41.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.41.0_1674844880916_0.2109379860595979","host":"s3://npm-registry-packages"}},"8.42.0":{"name":"roosterjs-editor-api","version":"8.42.0","license":"MIT","_id":"roosterjs-editor-api@8.42.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"13ee90c69f30392e01319f06cb3e5f41730970ef","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.42.0.tgz","fileCount":493,"integrity":"sha512-4cl4T9XtTe5+Jz8YJ6/NOMg6fjebVihQ+vXY9oytuUyZGqNxIm8UEQe4S91WI/67Kx6Uv5Ct3DzqHPZS+0vY7w==","signatures":[{"sig":"MEUCIQCFGV/Sp2yOFTx2UEsZoCDtLUSojFbh8njnftVUM8f/eQIgeOgC6uK/aTAMnNkPL09YwSuGcPOAwhPO9RlWysM6xxg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1238075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5Zu5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoT9w/8DB7ZRuAk01A9kOVrwpcVFpfnYqleK384MkZHKQ94jDP5B631\r\nVXw4gbWRZ/z1OMIjjGYwOynYIZGlfIq+8QzIrazMBhpiKE1JnHzpwPZidxz0\r\nL3UbVfq/udTzsBszB0SAwBvzVv7rtOVG8mh7H+br662GiQHnuYbuq5dRfXsz\r\n+6If77fxn/aron70LlalOOV5sUj4oztw1WjvPUwvEwS2nmCjlj839V1j9+kQ\r\nsD4P5OPNX5qtuYqwrmWlGtdZqJKXsS6MTbeifQdCqGIx+qY2kiAn4l88iLaO\r\n10HRVNimjLO156H6IWMw6S3aI3IYuAYRLln7gVmtrosiNjJnDhs0A3fix0/k\r\nR+OrLxHDg715k4xJ+gi0uTjN9m+OHV77fzyzEs06dFn9zrMRa1AJGR+I4CIp\r\nUEf/gKxR1FG3ZOb3SEqq9+/a8W+A7KwvqG2CyB5gGmvSbdnmRlVPvLjxPMp8\r\ndefRyKbpxQt4270ljLkCioBvkVqwtwoyZsNFZDmkUNdY9wd1tQ8twX7SDZmj\r\nCVfri9uGvjvA9kDNgbLQq3kRFw5C4kghy4EUMqqWaMO4vjo0Ma65zjXtHo8H\r\nw9UU/rzeeX/uYeCKIVtt2qumoApjVEJxbJhP6xX0L7gDbd6HLgd7GxDdArVt\r\ncX03U9T9/xMbbwbiP3i8q72iZzwcZBlzhDg=\r\n=DNnA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.42.0","roosterjs-editor-types":"^8.42.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.42.0_1675991993702_0.27686912888886295","host":"s3://npm-registry-packages"}},"8.43.0":{"name":"roosterjs-editor-api","version":"8.43.0","license":"MIT","_id":"roosterjs-editor-api@8.43.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"7e3198944ff0186e78278989a0bc97b166777872","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.43.0.tgz","fileCount":493,"integrity":"sha512-5I+9wPijoVa0KmOLuxvt1NIrBmmw43l+3d19Tt/DeOmoZgyL5vNyTXxtoCA/yeFVwllXOpDiVNud39FVtMUz2Q==","signatures":[{"sig":"MEQCIEBLZ038GlptxPi60agokeWb9i5kZnyEm7Cxhcl0K5ALAiB/WC3flmGuMYO3flmr0iWjCwBpXpJ3W0LNIO1WZjNjLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1242507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+UQxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzoxAAkmawjwfAF/ypcLAwASCbZMWR4elhpYiv/RW1I+MBc8+h3FKB\r\nYQCczGLWOqr2mS/1H8UGJPpqfgJ3gvVHQ4Lai2HGpVO7xbU2Pv+Cb8HQzaFK\r\nDR0BhXrjJWjxyyUzxJvycWUNf2uKuhLes5NaaxE/BsOy0JNbb2p5Ul5R1Jmr\r\nClAP5LwwXfg5F5ZbM7VpYGC5FNkoErxe8QtXPkyKHesVj1NK7SbbD+k/Vp4H\r\nDl5LDkBF/TFVXkwyobKA/77V6/j7zTfDa9w7dow0Z/YyYwQYuE6+EIvgqsNJ\r\nmDtgKFon1j1ML+ezR5J5B34Mq4IFNG6qmln7d7yin6S3vJLh1BaZqROX8lUC\r\nRlqyeQQgFBTKtuGyTilGkIUk9RDk7spYhUTYf5eFXr2qKS4zDUlA4QMtFywX\r\nHJ0+soozLp/cE2GpfTrKuYt/ozWHYG2RVa7bD5Gvx2OjbeCG8qNFi6V+p9Qw\r\ntYEF1EtEtCalafilMLRK2caOx3vbKFAMe1imukqA/CEmmkrNUfKZc0qxr7Va\r\nw8QTXJhNW2Ikug0WYEDnlu9825S37bMYqiCRCoz62OeyNrzqtv8eg00bIPmY\r\n+gbAH8b9/txPbxeZksfoANApwqoooGBnNJNnc+/JyhDk8FuIkgAZkjRtYIw9\r\nXYSU9fuFRYlJLjLtpO2FN3bcA99r362sNZA=\r\n=t/Ye\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.43.0","roosterjs-editor-types":"^8.43.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.43.0_1677280304962_0.02714284870418937","host":"s3://npm-registry-packages"}},"8.44.0":{"name":"roosterjs-editor-api","version":"8.44.0","license":"MIT","_id":"roosterjs-editor-api@8.44.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f7b142479f9e384c375091436331fcb12fa76790","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.44.0.tgz","fileCount":493,"integrity":"sha512-9B9KhgTTlRZNrvrLO1ZQ9rbTGIE4wlt7fHdvtDsxwZFeuxRAWku9askTz2X68qanp+1oLFDV/9e3g/ssH62mYQ==","signatures":[{"sig":"MEYCIQDW/BfB4qr6B3+ch7R1PnqVOAcWWuFW+nKH1kg2PuSk6wIhAL4+3UX5Ehv2k5JgBT8CqJlej8q36vttQClOxM81igli","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1244539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC7hXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKvw//Y2ASloIh04DgRTrNlzuwOd7g4BBnwjTsbEXEaaXFknKJljzn\r\nW2il6NPa36L7JTu/Onv9wGANFWsbjz8LbjTKD+hVSTDtp+foIHaL5bJy5AZ+\r\nIaFI/CR2umA6CmDHHLEQI+D8w7KTo53jkj8NyFZ805+tM01KyIAFHCXHnFqL\r\nwIibsp7PHqPULXYZld818wYx43UaqE+nmlZxk14OgObibUNuys8VLlF2vlJ2\r\ntDn2q5alW10/K/CKrdMSLHL/XxwEEmh/4gHFv/jUEOfGqvPS9p9JADoUQx8p\r\n8YI26Yq53B8WF+s7N5TIoEFhUxsvLJuSeviK5D5PJ8e7WAMLyXw11RIqWQ8e\r\nsk3TF0DyyPOqbkLIqvHN1I5EnQhA8ixUU1KowOhcgi/ra561srkY08tHXAQK\r\n9gfAeekLTjFZfJsjV0NPPJvxVoUGXPpnu0jtmjfn18SLn+N3+Oflw6oYCIuh\r\nkTeYAY/VYjCNlCDZECrMHwbgHE8m3MUSZLUR6PBfksZbci9yf9zmhytqrBsV\r\nyXF+/k90nQkuzXu1LLTTJAITMNK0jzX4sn4OyWg/vWvMppCk7nr59dmhMK33\r\nMs9FGPXVkLyEFdrsOUhIdguIR5A/3r4NttrHSpQoiOdKmGrXAmeQ50FXGUSX\r\nwKqBTNdhBR4Gkz8OnZFMiPegG/MuHIjN7Fw=\r\n=6gSp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.44.0","roosterjs-editor-types":"^8.44.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.44.0_1678489687573_0.8531189025378549","host":"s3://npm-registry-packages"}},"8.44.1":{"name":"roosterjs-editor-api","version":"8.44.1","license":"MIT","_id":"roosterjs-editor-api@8.44.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fa6f5480adc4269e295696c28a7c63a5cd8d4772","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.44.1.tgz","fileCount":493,"integrity":"sha512-nuWACH2CeynU+5h93gLCCbKnjLvNVFarOqKeovU50Neq6Cm63SPkSxUodTYZAFVd1tYfEHejE/VXfS2UzH9RZA==","signatures":[{"sig":"MEUCIQCd8fOFtTWrN2ZguLwH4L/jKDDTcj5D7/YNLx7s+eXR/gIgaAssga7RQ+VvsFzEFTp+VKVGaY81maSu6SorKEILIaM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1244539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD6AKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmojzg//TBuKBPCQlcwGu/Gpy1YL0owIyG2I0CtjhBak2VTe6y2zaM1A\r\nGb9dNJr2HUDEUtjJL9Rd4DE5/WzNIOIaTpKOBHIK3DmVTEXa+FXkOajb8C88\r\nBPMKSpeKtaqjg7OHaJX1SBtWItJDBSEv5Z93B5JoBykW/xa0Iq+jlKm5kw6i\r\ny8nO17qfzVhu5TQsvCdsVTkihylLNtFL077C4wy3ZhYkBeL7bAuROYO7EPUu\r\neHOqadnlsgS2QeLyBKd2opmd76BpwC4MBsNgi+PnvbEKmds2wkdCwtBzaEX4\r\nii7IC+3G87nNwStg5Rjc59g7NL63ZGtuSw1+H7WfbKNze9tT0OBDCP55T4WK\r\nvSzsT+oC+34rGWyGkEcinRlq8p6iC0Ro82qF1nn4wgeG3XRDSJSGVTJ1IXon\r\nK46gwcTnns86wk6Uj71VDetP8smXW4A4QIXxRyBytyFPsZQLbsSdn9Ao+4a2\r\nNzbq1rPjlBALekhlJ7uNiAkHjdvS+TZmoJRL1HfhfZkNVnahNJ/5dOVQhIKn\r\nijdhjUVvPNMZXY1IwnkIhMTVvnJge16tWlUUn1RF1sJxK2yMyLA5rvfv4LIw\r\nc4+saYQXi/Zqn8dlGr/L9Z4UjRglbk2Al9BPq1NI9A+AvabaeuSs+/WRyH3k\r\nxP+fP+hf6i8O5FkUDluYMLvphbF903wUL6Q=\r\n=FVGQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.44.1","roosterjs-editor-types":"^8.44.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.44.1_1678745610160_0.756299001819047","host":"s3://npm-registry-packages"}},"8.44.2":{"name":"roosterjs-editor-api","version":"8.44.2","license":"MIT","_id":"roosterjs-editor-api@8.44.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"80f35f4bae89649056df46d3e692d6e4a5a07fd6","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.44.2.tgz","fileCount":493,"integrity":"sha512-5dGYMZjYEF2wHHclqI1iKDgEcDgG2UOJaOn10xE0o3BNNd+YPFPCuB7wckcY+JYp2EpiuKppL5X2mpoEDr2z8g==","signatures":[{"sig":"MEYCIQD1eiu31Rj9GLbjeWqywmLd0PqnGhw0SmJ3UBvKLBwDPQIhAM1X2LKoN86Jia/acEp1VB/fsDL0m3gG2hzqdEy1TTib","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1251569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHioMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpieg//XOHcVktZCMde+H5dqsCPvL7sM1/2RgfKV2+y04Ccwnga8BYC\r\nOECFIx7OVmehrsCXH0BGsNfJQbY6LvjUPdbwpqcfx/HqiHldpuIgXSEBldfb\r\nF8QsfpFh1ed4GijGLpYoMlMId/pqbF8Lx7/ZJD6kjTu7t0h3NAJP1WbcmcE9\r\nF/xCfJ1PQ+X/Jto7eHNWBBlmLdQAVQIIKn9pMDRpUQpT51QI+BErdjiyP7WP\r\ntZ/3vKGBlGxWgVIQCfTQvn7/zQGSd20QX4HFfbW8SQzMKkxZ0KhO7XzrD2vm\r\nK6jDvmLfmp4/dDD+VmZD+TDxcKmn3Wlh0HNGqxh9mboueSTbpO7nNLPcz3j2\r\n46sLzxmmTSMgeFVlMg6fyWkWitC2gQwSDjWoE/X9LI5uhfsI7hrresz0IkyA\r\n2qFTOE5RSQAJIbVcmqZ9H4zzYRnBSWigmTeHSY/JFQlhwjTv65G2UpHYzsTY\r\ntVIaGaszJ1LuVTeD9PZNiE14VeilQ3eLzfUIGm1+cMeF9Xlr5uypf0m7enGw\r\nKfRHTgv6bHqmBG8taV17nka/TLa7aa6TUHZw0nF5iUUOvjtPiOqMHIsYmkeu\r\nKJUrFtQIs5165RF/OBjb/PYz8T9bIS2zVzCCEcBwAxS5lugUt5clemA8O1v4\r\n8DyQwJaOZeAWHVYHN4d79xzASXTnXC2u140=\r\n=alp+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.44.2","roosterjs-editor-types":"^8.44.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.44.2_1679698444130_0.4300053074508896","host":"s3://npm-registry-packages"}},"8.45.0":{"name":"roosterjs-editor-api","version":"8.45.0","license":"MIT","_id":"roosterjs-editor-api@8.45.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"984b8ecd2c5fe0fe228c08fb9fc6fee5ef5ab8a9","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.45.0.tgz","fileCount":493,"integrity":"sha512-+BseloHVCvGLL6ZqBf+kuiXLTmlnI/GxFm3SHQdFZh1qR/jvPFMdt/5HjW+JGN8hQcoW248RfDjLCaLNpSU26w==","signatures":[{"sig":"MEQCIC36txo5OOmxOmHEQRx+MYWOzi2x+mDrL7jzql24R0oxAiBtmTVx5Js2vYQWkJAyCvaG3xo3AwSa/T1XyZm5HknA5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1260063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkL1JQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpksRAAl7V3ypeVFNyUOY0Jg4PeCPZWWRKEESOnd9FFEnBSYBluIfwr\r\ncUdm1FkFQRgZCAbXekyRwj4CL5wBcO1zq0tNz8TXDlb11o5bgXaT/yno7c+w\r\n1K6gldjrJaeWJ9n1mOQVtbR6ViIItNiTce4sHr3AgpPHRbB02DwBj43mYJTc\r\nHB7dX6Mx47VuYUcsoVndoxdT1uOXLw+u3md9fDJBR6vmGlz8/cqfq4wYYqYz\r\n+zk1ts0NgIIPmrXOWX7fLbt9vCZbShygCzRVb/B5RJs/2IOreihcmHH6LNIy\r\nxymqrQR8mwgJqJ8O5hyJ89hv/e60r0mvceVPmsBh/hX8iWg2PqXIyqbCiSf+\r\npTNoJE+l9xSNSeL+9sxbfkrzIqmZARF9W3wdBXIXhBST9d6AM8dN+C0Jn7u0\r\ngYUO9btRUNtZ9rUBse8xqNdEX9aod62VVJ+BRXhWwbIJdWjjbZW/T9Zf397z\r\njfjREvMb9N518o25wwyA3LgD5KthCLLZisqZGA23bME9yT5zMYF+8RtgfKCR\r\nhinmg3cvKy4CDT5v8ZogdEu7TkOGhodfQBEG4h2BxQjL5T/Nn3YczsOSzc0M\r\nuZNDkacLqP0Uu2J9EKMZFKm7PQXq/Tqg4bMiBRt7G//rus6FlSMzqeTS4V1f\r\nsin7EAYlNiFq/in59nzdT/eQ8Tl/vrIoJ5c=\r\n=/gFg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.45.0","roosterjs-editor-types":"^8.45.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.45.0_1680822864649_0.685864890356999","host":"s3://npm-registry-packages"}},"8.45.1":{"name":"roosterjs-editor-api","version":"8.45.1","license":"MIT","_id":"roosterjs-editor-api@8.45.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"211d6e6135256a50bf1ff691aa1e0a1b1885c01b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.45.1.tgz","fileCount":493,"integrity":"sha512-X1kVkY16HEEhFJsHeE08vadBxwFMahiNlBFLCqBEIaEdXZEgjVz+qSQs9L/UTFlb1zagnenCmxXD8FjoqpxeBg==","signatures":[{"sig":"MEYCIQDdBAtBtfwY40MPbZ6VCuJDY3AiYw2CAYdyJKJwVoGiqAIhAPXUSeZM0cCtbbWVKEfFbCcqtBbh+NdLphnGk0Tvw5zK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1260063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPcJtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPcg//SgEj/CslhNCTDfZmPsuHC3SmPezQel7gvKvgkouAcoy7Qoyp\r\n5Klk3bWQUMqTxgr1UR1SuiUlTFWfp6Kv1nFn6tmLT5OnWfhsSz9RiHj+sSYx\r\nuA6QOBHlt0cRr9Ge+I8gDeCaEKyFHzvgnkXxssDJb9SW06zGcShHPh9ivFeZ\r\nlRhQXLxTRo+5K9bBZYVrd7jE8woj/QAQJrkLx/jxsmMfFQW3y0h+gEo6+VN+\r\nGRUzW+sIkOpGrKV9g6peDi7URhhxKjB9nq7pG7qzw0QaVVHiiDAfZ/OmhAcX\r\nddW36B3L9Tn2C9HNTPh2kl9Wwqq5amupZ4NQ3Me445u/H2TeB1TOQprFahui\r\ndYNntm9b4TScNGPQIAd2aZOZq5W1GWwanQADUsW5/vLTvyFWd1aXoKGdtJyq\r\nrdYUpI6Z/2gijBNnbfk/V3Cy6Lpe9+IXThLhP8mPZNI27R3XY5AYAiekOh5+\r\nkxcS6vFM11ls6qO2OxBs2rXYZKgfSx18paI4H6Nwv6pYtTZI1AccPyACvm8r\r\n+vfP7SDEBtda80MdBJxvX0mqxkNOsllpEOhcr4EYDJjVnXJtHUYJOGziEGqt\r\nDJ94wcDvScZyA1fYs9mtV9YQb526N/YYATh0UC9j1/nB28CoHqKaEhAQ4tRs\r\n7htCx002OIFvAwkE8zL9lGRMzxpw8BpgwDk=\r\n=hJFR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.45.1","roosterjs-editor-types":"^8.45.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.45.1_1681769069194_0.5510612039001515","host":"s3://npm-registry-packages"}},"8.45.2":{"name":"roosterjs-editor-api","version":"8.45.2","license":"MIT","_id":"roosterjs-editor-api@8.45.2","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"b1c67bd95d51f1d8af19cd767db9404b359b791c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.45.2.tgz","fileCount":493,"integrity":"sha512-KDS3uzT1YNAjePoyN3cXR5wA6+XB85ripxE49xa90bFuBR2E1roL/AGe1V91UAYSndHPDErMBXHbIOibqnavrg==","signatures":[{"sig":"MEUCIDzinewLSjdpnXWDcv0ItdMOTARWZfnV/yLom6xTOV20AiEAk4+8s8Zmllw8O6pTWzlJJ1D38mFFBtYwWFUjQ6iyWEQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1260063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSCkCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNhg/8DVxMvhSVkr5QHYeTK2liOrCBeiv7m21c79BS+8gyPq83R5U4\r\nB7DJ31+U4Tzo37+IMXv3lZdTLzvSjStfaI6CuHz5qBN7i8FqkbEs1FGml7tO\r\n0sVGu27F8P6fH5NDkMb/F+QmHp0c47TTKT9ntA1g4WFUMc7HAhSg7CRTLoqa\r\nIL1vcON9chTmpzfy5X9zQvQG3drUAxmeFNySPBl/0nGkA5LCQYBztdi58LHI\r\njOJpal57MtcrzLAakTf9i2Q6cuHN52DNtNmNdnQCX3pzuTRpxQFRkuWRCXKI\r\nFufiFwRGcj3/omf9h4fN6NVAwNE3Ah2ePfKbK/NODMd15QddgcVMIl1d7eNq\r\nrfEYW/SQk7pF7YTJYAbJ1cGrXbSAANIfgqmUCZnOSoJdx9eU5Gsva8evhgv2\r\naBVZue/Qo4+6d5RAdynXzTB1qbOjcVdJwx/JoTuaYm6hzD3rRhstK5ebAOqg\r\nkJbaEU4KXRty9J5xbndE3IwJFLs/uGZT3G8Zxpc0aAxU4O/fLlYf85dPV1q+\r\n25PmsTcab5ir5+Ydpj3tqcQr8Aa7vzgAEOFs9n5YQVeQyuYQjCXuzZTFkv5X\r\nm/sVe+wuen8EKh4wRYg7DqilwAtbb9RW/YSzdAVQFOcb0gmY4lOej24PVSxF\r\ngdvcCl+iHR0bbGad8H6yXaOL7pEpe3EIwRQ=\r\n=w9+S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.45.2","roosterjs-editor-types":"^8.45.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.45.2_1682450689985_0.9022590996620361","host":"s3://npm-registry-packages"}},"8.46.0":{"name":"roosterjs-editor-api","version":"8.46.0","license":"MIT","_id":"roosterjs-editor-api@8.46.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"e8593c2e5c94f3c77adbc111b7baeeb333490061","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.46.0.tgz","fileCount":493,"integrity":"sha512-rap/JYkZkqfjoYJ/a0zfgAuDZ34Xgj2Jb3XYb1jEdeHf4QnCiw4EUm4v/QxPtOtApOxYN5VskbX+hcPx/jh9PQ==","signatures":[{"sig":"MEQCIB6Jn0zLPdo4+0xkdawRd1SSlSaWsGKXddIEnkgEtDtAAiBnZxU4lXgbnCD1YLUYlKicBQ9laVKNCSMZjqfnjaPlcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1262735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSwYrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpk1w//dRZNvk18/e0dbl0Q1izg2mGkTKFKgqJkOLiARjbMFj/GJRQv\r\nAyyKLug5/Nvm6x+t6M2+YazENSSI9QCixml9/hbx6ZlJKrEOWlveTtwjbiX7\r\nLB69ANkKY9TzZFJPJdRLKEDLCn9Z4zVHUq6z/5aW/AmTviVPwS4OpBkZG6FK\r\nVJF1Fh2jzGI4uRdtHYpMBXkvAL/kSwT/sgWDYpUB/sUr+z6KgrDBlRnyS9xv\r\nNeDdkNXcUnh+E9BGVufABUCEtL6SJzIGoA1plx+wdQf8HmXk4QrXzIhaAQMr\r\nBNPKNGc6RDvQbsk1BOI3dfCtAU7WV3oEtGt5bByXcBctaMVeanclP9yCC57l\r\nLAGe+v5rF3xTx8BpS9/em9W9//Z0b75S7EPAMugqkWZ7ysXrGmKAqGq3MyC9\r\neO82l8OODcPKp7J7rnbf8dljuJV5Vfr3DuprXWCQixWqTuHL0iXB8q3Kl4bQ\r\nrDzZOpcoQ7BJqmbnTdz8220j2F/uvzjHMKrimQTiiJiKhj/oBClCjeVGhaBe\r\n0EWvyWuFSTxv2LXtD8NbUefd7Kf0yoVnswbm4hNO0CGb2OdONzSrOXZH1zfn\r\nPO9mtkmhEMp+YObUn3uCZkNqbnmzejEBj7SLzC2supwBfOyi+2wvLQlEghK9\r\nBVKHsJYn4bSJWbfKK1uGIC3efi4q9LTCIxY=\r\n=Fokg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.46.0","roosterjs-editor-types":"^8.46.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.46.0_1682638379475_0.5414803361895673","host":"s3://npm-registry-packages"}},"8.47.0":{"name":"roosterjs-editor-api","version":"8.47.0","license":"MIT","_id":"roosterjs-editor-api@8.47.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"1a68fd583318ccd50082cfaee60ee63dea3665a8","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.47.0.tgz","fileCount":493,"integrity":"sha512-8mVinVB1C7Li1VFTmYd1C7PpK6Aw0/LWPGUri1ZQc2udCmpNQ9LQe0iESMb4dhkqhTU2Wa5sclEIoLDXGGb9+A==","signatures":[{"sig":"MEUCIHm2OCwQ+gpPysaQUULllkzSnb1ICW4PpztQkQeFEG2MAiEA+RtqiXl976EgRE+RaeVFT4XsmssM1dC23VxLyL+wZAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1274084},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.47.0","roosterjs-editor-types":"^8.47.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.47.0_1683909258897_0.080593707872604","host":"s3://npm-registry-packages"}},"8.48.0":{"name":"roosterjs-editor-api","version":"8.48.0","license":"MIT","_id":"roosterjs-editor-api@8.48.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"5ffbedd7e17ea0d4ec2992bf634c0f31cb74e2f7","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.48.0.tgz","fileCount":493,"integrity":"sha512-An30sPX7RKnUdCWAIGijT6eu+ORrZ8FJ7H+S++pi0X/xCPG3+TqgYprSLQw2oAJOY2t2LF0piWRygP4CdAE2eg==","signatures":[{"sig":"MEUCIH51QjU77ElROF1Q1NTpj+ECBM9NGMGug7cnX+QIw16bAiEA/BMS5NdJ/Oqo9EiQNvqm7RwilGLXw0En0w5TJo41Z/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1272369},"main":"./lib/index.js","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"6.14.15","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"14.18.2","dependencies":{"roosterjs-editor-dom":"^8.48.0","roosterjs-editor-types":"^8.48.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.48.0_1685130480025_0.3688392923902537","host":"s3://npm-registry-packages"}},"8.49.0":{"name":"roosterjs-editor-api","version":"8.49.0","license":"MIT","_id":"roosterjs-editor-api@8.49.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"6a2e970768eb4e381f5a976b15d6cf8de6086c58","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.49.0.tgz","fileCount":493,"integrity":"sha512-ZLzjRMcZVFzoE/zSiOjVQGkJ3/jNbbYP5vN2qoIV6rYBBFrG5DZldk5vTw7ufzV4HQ5L+McIXqczDXBizyaToQ==","signatures":[{"sig":"MEMCH2Sytd3pu1269J/lFXWk3aV6fgzQmUWMgpWaIWA5qG8CIDyIdjmuGTEqDw1hnzltYmkAAfwuilU2i9umdH7lwqSt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1276316},"main":"./lib/index.js","gitHead":"6b6210e54c59ad5ee0c066ebb7a9b36d18f6b652","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"roosterjs-editor-dom":"^8.49.0","roosterjs-editor-types":"^8.49.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.49.0_1685749055221_0.6607216200918922","host":"s3://npm-registry-packages"}},"8.50.0":{"name":"roosterjs-editor-api","version":"8.50.0","license":"MIT","_id":"roosterjs-editor-api@8.50.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"3c0ad6f635f8176de501f243ef2552d3430f89a4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.50.0.tgz","fileCount":417,"integrity":"sha512-ShYQMrJAG9c2NVj7zydOVZpYkNPn/RgFRCGwodo10B7u3bT9Pmu4E38muOpMtZsnHlF+/TxNc6EL8wXexCLTEQ==","signatures":[{"sig":"MEYCIQD5ShopeVfjFk9DzuZhHVshGOHRfCLfNKrYuHccJ7tblwIhAJ5knyOX8zBPSi3M4EeyrIKzeZ7jj7Z1x78tFvOIWW74","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":902538},"main":"./lib/index.js","gitHead":"17142735aac41e6cb37c0c6fa064fa2eddf43a0d","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.50.0","roosterjs-editor-types":"^8.50.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.50.0_1686947191601_0.45893284673318924","host":"s3://npm-registry-packages"}},"8.50.1":{"name":"roosterjs-editor-api","version":"8.50.1","license":"MIT","_id":"roosterjs-editor-api@8.50.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"bf339d315593a91d871dd42e7608306734404cd8","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.50.1.tgz","fileCount":417,"integrity":"sha512-ZO69eDp6DMAp5qoUuNUHuD3I1Umh1NaFLf6xusKDu11vWkROUwEe/muyWSsM4yn7XVGsooCBK20FF1lJkG6zEg==","signatures":[{"sig":"MEYCIQCPL4gEYwxGfwyTldFIYlAxyzLNWSd/TUgJhe1zBjhKrQIhAJhB4lX0XgNtaUoI33ElTgjO/slNOL2GsSnz1Dy5IX72","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":902538},"main":"./lib/index.js","gitHead":"a464ce6304a26cdeb805e0deffc7d21566a768f7","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.50.1","roosterjs-editor-types":"^8.50.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.50.1_1687546192266_0.8474237731401186","host":"s3://npm-registry-packages"}},"8.51.0":{"name":"roosterjs-editor-api","version":"8.51.0","license":"MIT","_id":"roosterjs-editor-api@8.51.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"973573be076c1f8eda5057f6fd5f18fd0580a8a4","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.51.0.tgz","fileCount":417,"integrity":"sha512-eQKQSucH090rLtBTh3KwRzNnMSo8Hhvv56tGojhSGMALdElmpiur3KAx2ApNZpHopA1Ofqg9WveiG/yGcx+r9Q==","signatures":[{"sig":"MEYCIQDLLyCAxlxhZYJJ2Z/BnTi6kRUSynTBJJTZtIf5fMumtgIhAKmyJcYrzQKJhTJugUtbPCairst2rhoReupkqvhVA5fq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":905444},"main":"./lib/index.js","gitHead":"65adaf2ca8c2a9a2917706fc17404a6836564071","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.51.0","roosterjs-editor-types":"^8.51.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.51.0_1688160619857_0.8007526979882647","host":"s3://npm-registry-packages"}},"8.51.1":{"name":"roosterjs-editor-api","version":"8.51.1","license":"MIT","_id":"roosterjs-editor-api@8.51.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"d8eec322c2bcfeca6d8d2768121b6ef1841daaa5","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.51.1.tgz","fileCount":417,"integrity":"sha512-6NUQACPrMUlgISZaEVQC8y/Iu7rgLtwBHPlZNZCBJIwBSqZy12vcyONAnEIWgB52maF4Kfv/mJXBtsMuAazXxQ==","signatures":[{"sig":"MEQCIEtNsXAn+A3/QrOuwPkqcgUlMbGExv65lfy6DmlGGhqHAiA+sEfBIrtCaHDhGGaNDQP7eVvHD0iwBV36Vx6L230zpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":905444},"main":"./lib/index.js","gitHead":"9eb85931bd5398dfc5550137f277a4e513404efb","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.51.1","roosterjs-editor-types":"^8.51.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.51.1_1689363159067_0.800590424134983","host":"s3://npm-registry-packages"}},"8.52.0":{"name":"roosterjs-editor-api","version":"8.52.0","license":"MIT","_id":"roosterjs-editor-api@8.52.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"57215dbd2e3fa7b22db065973c83f2e5f57b7b30","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.52.0.tgz","fileCount":417,"integrity":"sha512-EVSJlebUj0km+FPlDoijFyHAGZKb1Jo+GgcyaKYcEd0BqUaOSmpecFyOcoea5RKNkWZm+y/7zyFIq7dUxZZixA==","signatures":[{"sig":"MEQCIBH5tdO4hTwlevc1DXob7/6lyrnymGe7rswDIHhw3E/bAiB5zgVDVdiwljhATzgbDckIlpXWchzmkeXW4nGbUpnVDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":907575},"main":"./lib/index.js","gitHead":"cefac4c0954c9cf4f9098de9a430ac4ce1533a6c","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.52.0","roosterjs-editor-types":"^8.52.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.52.0_1690586804817_0.08121329421131063","host":"s3://npm-registry-packages"}},"8.53.0":{"name":"roosterjs-editor-api","version":"8.53.0","license":"MIT","_id":"roosterjs-editor-api@8.53.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"0f92e5a28261796330bfc6386a75588f5032762f","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.53.0.tgz","fileCount":417,"integrity":"sha512-L3OX9e4pMoXSrr3GAiGUtl+VCXihs0p/lZoeTj9s7hoIeKR3dv2RvXC5RFH/HXkp8Dr0zI7JkjPm+YTHKwHw9Q==","signatures":[{"sig":"MEUCIQD+JLvXSXZ4c0eW2Glhwd7Qm9fD24mLcahcVPVZYyLRiwIgIQdOQZD4RQJSDa0NpQ1ZvMZnTd3w7JJf/Ckj3+qkCUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":907575},"main":"./lib/index.js","gitHead":"fc1c8bc24921704e844de975e2b24f915e70b6c7","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.53.0","roosterjs-editor-types":"^8.53.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.53.0_1691178852575_0.1502087414368387","host":"s3://npm-registry-packages"}},"8.54.0":{"name":"roosterjs-editor-api","version":"8.54.0","license":"MIT","_id":"roosterjs-editor-api@8.54.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"f9d88997fe3d383c0e99a389a75d9e38689b2fd6","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.54.0.tgz","fileCount":417,"integrity":"sha512-wdFDBtnMI2bZosZIe3CwTrjgrIVoSylmkSS8ecLVIR7iMWZV3QpazU9Li6m4UiPc+zTig945iSsT72QVKYMdVA==","signatures":[{"sig":"MEUCIQDXQi5F6Ci4N/Z1FXiCcyklIv1hLZfaBa1IAK3hvm1lmQIgfPbLUfQ70S8uf4sa+xJkphD82Jzzttun7IaEKaqV4To=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":910486},"main":"./lib/index.js","gitHead":"e2ae75102406be2720e903f21fe75c8078e76441","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.54.0","roosterjs-editor-types":"^8.54.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.54.0_1692393931928_0.11031447660260518","host":"s3://npm-registry-packages"}},"8.55.0":{"name":"roosterjs-editor-api","version":"8.55.0","license":"MIT","_id":"roosterjs-editor-api@8.55.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"8245ada2c9077c4489fb49ae0ed8c30be2a6b8ca","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.55.0.tgz","fileCount":417,"integrity":"sha512-EnLzRga9HDc9DdNlZXV7MVFXl9waw2OyrqcK3PLC16e2StwM7D8KGTnlLVUuMoerJWV87cTkhcSNqTJl9K+Kjw==","signatures":[{"sig":"MEYCIQCExUf3FqluyweTgHf5YhgagPAA+jx74D7iGNxpKaJLhQIhAI/GChqvm58vuAlbSOJwA60plZ1i509POOlqHyOOCRsC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":910486},"main":"./lib/index.js","gitHead":"54e3f9135a8b4ec45a78f1a9e64063758e1a1099","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.55.0","roosterjs-editor-types":"^8.55.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.55.0_1694460741075_0.46372284823376697","host":"s3://npm-registry-packages"}},"8.56.0":{"name":"roosterjs-editor-api","version":"8.56.0","license":"MIT","_id":"roosterjs-editor-api@8.56.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"fe72eeec030a5616d95be67f2682d687955984f0","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.56.0.tgz","fileCount":417,"integrity":"sha512-MyIFLv+BpxQ8YWZ48nKNNxhB2h3FCCmTYQLonZbfThNx6SsP3m06TbuWx1Pv0XDzVN7AST0ne6ggK59KiV5gAQ==","signatures":[{"sig":"MEUCIQC2EifxaSpq7BMqUu6GmgBywyMciEAGerPb3JjAz5wpdwIgCdPT1rYRLH1X7wAJqdrAAWWHtqbh+yk0NJuC9HpYSi4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":909715},"main":"./lib/index.js","gitHead":"713607e44ebfaa4e75beb80e6cdcd7668a5d507c","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.56.0","roosterjs-editor-types":"^8.56.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.56.0_1695422853764_0.8715299332588162","host":"s3://npm-registry-packages"}},"8.57.0":{"name":"roosterjs-editor-api","version":"8.57.0","license":"MIT","_id":"roosterjs-editor-api@8.57.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"8149a0e19064a2793ecaee348977ecc36615702c","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.57.0.tgz","fileCount":417,"integrity":"sha512-N2bXGlg4KzOWq0vzq7FfB+oMX99h3TfnWGTljstYyN4lGUT01eJUzYuLBAEEOcfBlzhvdnBCigc+ZMaBYIKiGw==","signatures":[{"sig":"MEYCIQD4EKk1XxKFX1Hh2HNIjdufVoOUGPCPdqF/HZALZX+wFQIhANtMmJ9/SVJK5qZy9wJm0LkqweYL31dkl/dbHFW15sex","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":915761},"main":"./lib/index.js","gitHead":"9079a70efa1a470e00b8d325ab61b1a387246141","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.57.0","roosterjs-editor-types":"^8.57.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.57.0_1696630783722_0.13296264569225058","host":"s3://npm-registry-packages"}},"8.58.0":{"name":"roosterjs-editor-api","version":"8.58.0","license":"MIT","_id":"roosterjs-editor-api@8.58.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"90b56074431c0688d75cacc2d1a328e1eb7209a3","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.58.0.tgz","fileCount":417,"integrity":"sha512-wrTdWtk/lUMkaD+hMk+RISX2E9HGarR8cU9F80/j4brHoYrw+PWV2FL9Pi5ERXoXUuPyckezxSWYwQCissEGsA==","signatures":[{"sig":"MEYCIQD24PiCOJSeg6ESxkTlqzcEzRgmTACoWiTrKO3B6R/nnwIhAOzW4b+2l7tWMknVR3mqgFVwOSWEI29LoJQrzhmU0aky","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":915279},"main":"./lib/index.js","gitHead":"f527296535331f6de22fd0915e941b32185c3dc1","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.58.0","roosterjs-editor-types":"^8.58.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.58.0_1697843191973_0.6076995916620422","host":"s3://npm-registry-packages"}},"8.58.1":{"name":"roosterjs-editor-api","version":"8.58.1","license":"MIT","_id":"roosterjs-editor-api@8.58.1","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"4d211506bfe0b1fa72cb1fadc7b505a6cf00774b","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.58.1.tgz","fileCount":417,"integrity":"sha512-vo9+iq34LEvkgAK2NAJBw4KY8A0clSbuRdGuK1iNwf8r9PdoDcpRmvYk/yJtlTCopyYXYlSJRLGGdgjqTAwjWw==","signatures":[{"sig":"MEYCIQCNstYtnR3XK6qHoe67Yo4l6CEkYjOIF0e0Mc9EhiTmmAIhAKF2ZtxDgWdzWBwpvmJmIGQcY43DJaSbcXDCd/0MysCD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":915279},"main":"./lib/index.js","gitHead":"8a4f5291abcb2bf905a69399fc66a906b1d1ea32","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.58.1","roosterjs-editor-types":"^8.58.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.58.1_1698427021162_0.6179579419570984","host":"s3://npm-registry-packages"}},"8.59.0":{"name":"roosterjs-editor-api","version":"8.59.0","license":"MIT","_id":"roosterjs-editor-api@8.59.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"b34818b395f46e5f5ac1e6c48d1ba571d1289e46","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.59.0.tgz","fileCount":417,"integrity":"sha512-I19+WGu1/3Yfdmwb0/cEoFsWSxHGn8hRovTGs6n9s6b+sXt9UmTCJEceMMvHPL8QJnN+yIpFtTvetRWk+5T12g==","signatures":[{"sig":"MEQCID0zXmIVfYbvfYDqlK2q78ZdwuN4pqkcIKE6OM3lucd+AiBYbuYnqqX1P6UFa59AQ2rfX3T7GPA8zt2d16VatrpmYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":917973},"main":"./lib/index.js","module":"./lib-mjs/index.js","gitHead":"bbf6a433d2c18937525b596a5ec33579674521aa","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.59.0","roosterjs-editor-types":"^8.59.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.59.0_1699647907145_0.969528539352174","host":"s3://npm-registry-packages"}},"8.60.0":{"name":"roosterjs-editor-api","version":"8.60.0","license":"MIT","_id":"roosterjs-editor-api@8.60.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"c2fbcbe0fa4cbff5d937fe80d00e62ae8cfd92ec","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.60.0.tgz","fileCount":417,"integrity":"sha512-6yROZaioJPRbq4wOi23T+T172RoGggpyg0+Euls7U0sj5U4xYCwU2yO3b52aXp2JxoLvZ7WZgAsx9WFtYNjT/g==","signatures":[{"sig":"MEUCIQDct2X+NXgxt4j2+dCTqKZg9E31+TA55vR48Fo9GVsI7AIgcDb0/O56mqDQYB14ov8n6dhjBmflZ5HQ7DY/FpH/BVQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":917973},"main":"./lib/index.js","module":"./lib-mjs/index.js","gitHead":"85b20ffeba929bda2b37393a369566861711ccbd","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.60.0","roosterjs-editor-types":"^8.60.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.60.0_1707239114983_0.9211831311684096","host":"s3://npm-registry-packages"}},"8.61.0":{"name":"roosterjs-editor-api","version":"8.61.0","license":"MIT","_id":"roosterjs-editor-api@8.61.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"88648520226e42116b9ff7fd0ce143a5d8107564","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.61.0.tgz","fileCount":417,"integrity":"sha512-PmL1lQi3ersHFRBSTsl9CiCjdOnSvoAXDtsDN5bz9vWhcnQeOLF1GMi+WuT7Jyvv7uzwdqXE8xL9dNcJwOylbQ==","signatures":[{"sig":"MEUCIGERLCo+/CeRtciPIidFq4u0zPolCO7ZPoy9slhEPJTbAiEA7ZJq0o+wctYuumKBL+medX+2vZXJqcUlFrqx7EUxNPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":917973},"main":"./lib/index.js","module":"./lib-mjs/index.js","gitHead":"c7c1259d4132ba7e6d07692c24b2b1dab3fc0488","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.61.0","roosterjs-editor-types":"^8.61.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.61.0_1710535712577_0.27002089980936583","host":"s3://npm-registry-packages"}},"8.62.0":{"name":"roosterjs-editor-api","version":"8.62.0","license":"MIT","_id":"roosterjs-editor-api@8.62.0","maintainers":[{"name":"adjective","email":"mhuan13@gmail.com"},{"name":"jiuqing_msft","email":"jisong@microsoft.com"},{"name":"jiaguo","email":"jiaguo@microsoft.com"},{"name":"saulnier","email":"wisaulni@microsoft.com"}],"homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"dist":{"shasum":"60831df79835e5c096da1b0136177ef9ad144efb","tarball":"https://registry.npmjs.org/roosterjs-editor-api/-/roosterjs-editor-api-8.62.0.tgz","fileCount":417,"integrity":"sha512-q/uzfPkXQzaGOzSTjDqI/nwEfl59WBfyvyW9tF2dgmqjq+ZH9BAwkRbCb8Qgtz3wkRLuUUzzHIKzIhTvxvcFWQ==","signatures":[{"sig":"MEUCIQCLI1jIQPyxKoe4GpLaeWuKmo117U8z3JDmw3/Zaf/zyQIgG/VgqSqh4I8m0YlmoaQRq6XAZKKPagHzxMBT8GCpzMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":918971},"main":"./lib/index.js","module":"./lib-mjs/index.js","gitHead":"36a86bcad512cbfab70b1598a4970fd928bc87e6","typings":"./lib/index.d.ts","_npmUser":{"name":"jiuqing_msft","email":"jisong@microsoft.com"},"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"_npmVersion":"9.5.1","description":"Programming API for roosterjs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.3.1","roosterjs-editor-dom":"^8.62.0","roosterjs-editor-types":"^8.62.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/roosterjs-editor-api_8.62.0_1712000379715_0.7916105053356994","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-09-15T22:20:49.825Z","modified":"2024-06-14T19:12:41.900Z","5.2.0":"2017-09-15T22:20:49.825Z","6.0.0":"2017-09-15T22:34:09.055Z","6.0.1":"2017-09-26T18:10:46.693Z","6.1.0":"2017-09-29T18:30:18.698Z","6.1.1":"2017-10-06T16:27:14.643Z","6.2.0":"2017-10-10T18:34:26.730Z","6.3.0":"2017-10-24T17:35:07.616Z","6.3.1":"2017-10-27T20:13:35.341Z","6.3.2":"2017-10-27T22:40:08.100Z","6.3.3":"2017-11-09T07:01:36.997Z","6.3.4":"2017-11-14T16:16:33.065Z","6.3.5":"2017-11-16T05:11:59.505Z","6.3.6":"2017-11-28T03:59:54.345Z","6.4.0":"2017-12-09T06:00:36.432Z","6.4.1":"2018-01-03T06:12:51.278Z","6.5.0":"2018-01-18T05:12:16.863Z","6.5.1":"2018-01-23T00:06:21.436Z","6.5.2":"2018-01-31T20:31:37.712Z","6.6.0":"2018-02-05T20:09:52.924Z","6.7.0":"2018-02-12T04:46:06.095Z","6.7.1":"2018-02-13T00:00:14.789Z","6.7.2":"2018-02-13T00:36:08.872Z","6.7.3":"2018-02-15T02:55:56.589Z","6.7.4":"2018-02-16T23:12:36.080Z","6.7.5":"2018-02-17T04:17:51.940Z","6.8.0":"2018-02-27T18:30:15.141Z","6.8.1":"2018-03-06T20:12:49.682Z","6.8.2":"2018-03-12T22:15:26.405Z","6.8.3":"2018-03-13T19:33:45.403Z","6.8.4":"2018-03-15T18:15:23.132Z","6.8.5":"2018-03-22T22:02:10.865Z","6.9.0":"2018-03-30T04:48:41.790Z","6.9.1":"2018-04-03T22:19:32.811Z","6.9.2":"2018-04-03T22:37:09.784Z","6.9.3":"2018-04-05T17:28:27.652Z","6.9.4":"2018-04-18T19:48:51.021Z","6.9.5":"2018-05-02T23:13:10.569Z","6.9.6":"2018-05-04T04:54:58.840Z","6.9.7":"2018-05-04T18:59:20.022Z","6.10.0":"2018-05-04T21:32:04.605Z","6.10.1":"2018-05-06T20:04:02.043Z","6.10.2":"2018-05-13T04:47:30.740Z","6.10.3":"2018-05-14T17:28:58.173Z","6.10.4":"2018-05-16T22:04:11.718Z","6.10.5":"2018-05-17T21:28:36.312Z","6.10.6":"2018-05-20T07:15:54.896Z","6.10.7":"2018-05-23T20:06:31.597Z","6.10.8":"2018-05-30T22:42:48.924Z","6.10.9":"2018-06-01T06:57:04.517Z","6.10.10":"2018-06-04T20:51:44.917Z","6.10.11":"2018-06-07T18:55:30.649Z","6.10.12":"2018-06-07T21:01:22.511Z","6.10.13":"2018-06-08T21:02:57.221Z","6.11.0":"2018-06-11T21:13:15.766Z","6.11.1":"2018-06-19T05:22:17.751Z","6.11.2":"2018-06-27T22:06:12.668Z","6.12.0":"2018-07-05T19:57:52.618Z","6.12.1":"2018-07-13T15:51:57.771Z","6.12.2":"2018-07-16T22:16:35.378Z","6.13.0":"2018-07-20T17:35:02.746Z","6.13.1":"2018-07-20T20:48:33.079Z","6.13.2":"2018-07-24T22:41:53.993Z","6.13.3":"2018-07-26T19:17:15.212Z","6.14.0":"2018-08-02T20:45:59.703Z","6.14.1":"2018-08-02T21:31:29.310Z","6.14.2":"2018-08-03T22:19:27.639Z","6.14.3":"2018-08-06T04:53:51.215Z","6.14.4":"2018-08-06T22:29:00.171Z","6.14.5":"2018-08-07T02:58:26.782Z","6.14.6":"2018-08-07T03:11:58.568Z","6.14.7":"2018-08-07T18:10:18.769Z","6.14.8":"2018-08-07T22:23:33.154Z","6.14.9":"2018-08-09T17:39:00.485Z","6.14.10":"2018-08-13T05:52:51.321Z","6.15.0":"2018-09-06T16:31:03.622Z","6.15.1":"2018-09-11T21:35:21.463Z","6.16.0":"2018-09-28T17:45:55.303Z","6.16.1":"2018-10-16T20:11:46.264Z","6.16.2":"2018-10-18T20:32:43.291Z","6.16.3":"2018-10-23T17:19:14.888Z","6.17.0":"2018-10-31T17:25:54.349Z","6.17.1":"2018-11-05T06:50:42.665Z","6.17.2":"2018-11-05T20:06:08.600Z","6.17.3":"2018-11-21T01:08:42.184Z","6.17.4":"2018-11-26T07:25:19.359Z","6.17.5":"2018-11-28T21:58:09.312Z","6.18.0":"2018-11-30T22:55:50.118Z","6.19.0":"2018-12-12T20:47:30.263Z","6.19.1":"2018-12-12T23:20:03.489Z","6.19.2":"2019-01-01T00:26:13.513Z","7.0.0":"2019-01-08T07:44:48.739Z","7.0.1":"2019-01-10T23:04:08.757Z","7.0.2":"2019-01-16T22:11:27.697Z","7.0.2-darkmode.0":"2019-01-25T18:02:42.188Z","7.0.3":"2019-01-27T23:03:58.138Z","7.1.0":"2019-01-29T20:43:52.292Z","7.1.0-darkmode.1":"2019-01-29T21:44:37.088Z","7.1.0-darkmode.2":"2019-01-29T22:22:25.499Z","7.1.1":"2019-01-29T22:26:17.897Z","7.1.1-darkmode.2":"2019-01-31T22:16:37.828Z","7.1.2":"2019-02-01T22:17:00.034Z","7.1.2-darkmode.2":"2019-02-01T22:19:37.171Z","7.2.0":"2019-02-11T18:12:18.163Z","7.2.0-darkmode.0":"2019-02-11T19:47:33.016Z","7.2.1":"2019-02-20T22:11:03.966Z","7.2.1-darkmode.0":"2019-02-20T22:23:19.803Z","7.2.2":"2019-02-28T06:13:31.560Z","7.2.2-darkmode.0":"2019-03-01T01:33:32.514Z","7.2.3-darkmode.0":"2019-03-05T19:37:52.464Z","7.2.3":"2019-03-05T19:42:14.180Z","7.2.4":"2019-03-06T19:52:15.856Z","7.2.5":"2019-03-08T18:30:05.710Z","7.2.5-darkmode.1":"2019-03-08T19:20:48.815Z","7.2.5-darkmode.2":"2019-03-11T18:43:57.277Z","7.2.6":"2019-03-13T22:04:27.623Z","7.2.6-darkmode.0":"2019-03-14T22:19:15.792Z","7.3.0":"2019-04-08T16:39:04.894Z","7.3.0-darkmode.0":"2019-04-08T17:03:02.563Z","7.3.2":"2019-04-29T22:07:34.697Z","7.3.2-darkmode.0":"2019-04-29T22:19:17.642Z","7.4.0":"2019-06-10T17:26:51.247Z","7.4.0-darkmode.0":"2019-06-10T20:24:33.711Z","7.4.1":"2019-06-11T21:08:38.392Z","7.4.1-darkmode.0":"2019-06-11T21:26:04.937Z","7.4.1-darkmode.1":"2019-07-26T14:04:13.802Z","7.5.0":"2019-07-31T19:58:12.836Z","7.6.0-internal.0":"2019-08-14T20:37:51.521Z","7.6.0":"2019-08-14T23:32:02.351Z","7.6.1":"2019-08-16T17:54:28.831Z","7.7.0":"2019-08-26T21:11:43.055Z","7.7.1":"2019-09-23T20:16:36.251Z","7.8.0":"2019-10-18T22:53:28.163Z","7.8.1":"2019-11-14T18:14:04.284Z","7.9.0":"2019-12-27T05:19:45.230Z","7.9.1":"2020-01-09T20:46:53.386Z","7.9.2":"2020-02-05T00:40:58.429Z","7.10.0":"2020-02-07T06:54:36.970Z","7.10.1":"2020-03-05T22:47:37.281Z","7.10.2":"2020-03-05T23:57:59.888Z","7.10.3":"2020-03-11T01:09:46.026Z","7.10.4":"2020-03-11T06:54:48.877Z","7.10.5":"2020-03-11T19:50:22.915Z","7.10.6":"2020-03-12T19:12:33.796Z","7.11.0":"2020-03-19T22:20:41.160Z","7.11.1":"2020-04-17T16:20:58.096Z","7.11.2":"2020-04-23T21:26:57.643Z","7.11.3":"2020-05-02T13:29:31.608Z","7.12.0":"2020-06-03T17:40:43.608Z","7.12.1":"2020-06-04T06:41:30.172Z","7.13.0":"2020-06-23T17:21:51.144Z","7.13.1":"2020-07-02T21:51:10.883Z","7.13.2":"2020-07-06T18:19:48.519Z","7.13.3":"2020-07-07T04:32:03.806Z","7.13.4":"2020-07-08T20:41:06.277Z","7.14.0":"2020-07-13T06:18:15.205Z","7.14.0-vnext.0":"2020-07-13T06:59:58.200Z","7.14.1":"2020-07-14T17:33:53.940Z","7.14.2":"2020-07-22T21:47:06.582Z","7.14.2-vnext.0":"2020-07-28T21:45:55.060Z","7.14.2-vnext.1":"2020-07-28T22:44:41.131Z","7.14.3":"2020-07-28T23:19:13.669Z","7.14.2-vnext.2":"2020-07-29T17:35:36.553Z","7.15.0":"2020-07-30T17:20:24.556Z","7.15.0-vnext.0":"2020-07-30T22:57:45.251Z","7.15.0-vnext.1":"2020-07-31T22:10:01.331Z","7.15.0-vnext.2":"2020-08-03T07:03:58.788Z","7.15.0-vnext.3":"2020-08-10T06:07:36.673Z","7.15.0-vnext.4":"2020-08-10T07:50:22.204Z","8.0.0-beta.0":"2020-08-13T04:42:15.761Z","7.15.1":"2020-08-20T16:39:12.954Z","8.0.0-beta.1":"2020-08-20T21:03:12.853Z","8.0.0-beta.2":"2020-08-24T06:49:51.332Z","7.15.2":"2020-08-24T17:24:50.233Z","8.0.0-beta.0.1":"2020-08-24T21:59:56.765Z","8.0.0-beta.3":"2020-08-25T03:48:38.527Z","8.0.0-beta.4":"2020-08-30T08:06:21.623Z","7.16.0":"2020-09-04T07:21:32.560Z","8.0.0-beta.5":"2020-09-10T18:08:58.685Z","8.0.0-beta.6":"2020-09-17T20:15:31.099Z","8.0.0-beta.7":"2020-09-21T05:32:34.474Z","8.0.0-beta.8":"2020-09-25T22:54:19.530Z","8.0.0-beta.9":"2020-10-29T21:34:08.533Z","8.0.0-beta.10":"2020-10-30T05:59:11.610Z","8.0.0-beta.11":"2020-11-04T23:09:28.116Z","8.0.0-beta.12":"2020-11-13T06:38:03.681Z","8.0.0-beta.13":"2020-11-20T06:26:40.466Z","8.0.0-beta.14":"2020-11-25T19:53:17.971Z","8.0.0-beta.15":"2020-12-01T05:54:16.202Z","8.0.0-beta.16":"2020-12-10T23:53:04.711Z","8.0.0-beta.17":"2021-01-06T21:02:52.117Z","8.0.0-beta.18":"2021-01-19T17:41:15.341Z","8.0.0-beta.19":"2021-01-25T20:32:01.155Z","8.0.0":"2021-01-27T20:53:03.897Z","8.0.1":"2021-02-17T22:04:50.134Z","8.1.0":"2021-03-10T06:10:51.498Z","8.2.0":"2021-04-20T05:02:22.042Z","8.2.1":"2021-05-05T05:08:59.676Z","8.2.2":"2021-05-05T18:40:17.949Z","8.2.3":"2021-05-05T23:12:42.388Z","8.2.4":"2021-05-08T03:04:26.232Z","8.2.5":"2021-05-12T20:06:37.275Z","8.2.6":"2021-05-12T21:53:38.287Z","8.2.5-dark.0":"2021-05-13T00:01:37.083Z","8.2.5-dark.1":"2021-05-13T19:53:54.413Z","8.2.5-dark.2":"2021-05-14T04:55:57.830Z","8.2.5-dark.3":"2021-05-14T21:30:12.290Z","8.2.7":"2021-05-21T17:19:52.015Z","8.2.8":"2021-05-24T18:45:39.099Z","8.3.0":"2021-06-10T21:22:46.968Z","8.4.0":"2021-06-21T23:43:03.157Z","8.5.0":"2021-07-07T19:19:06.618Z","8.6.0":"2021-07-15T20:37:51.690Z","8.6.1":"2021-07-19T21:00:40.734Z","8.7.0":"2021-08-10T14:56:37.667Z","8.8.0":"2021-08-26T20:46:29.748Z","8.9.0":"2021-09-10T03:08:30.568Z","8.10.0":"2021-09-24T22:36:17.671Z","8.10.1":"2021-10-08T21:13:16.915Z","8.11.0":"2021-10-21T20:17:14.144Z","8.11.1":"2021-10-22T17:51:21.016Z","8.11.2":"2021-10-29T22:56:32.220Z","8.11.3":"2021-11-05T18:42:16.236Z","8.11.4":"2021-11-19T19:15:23.394Z","8.11.5":"2021-11-23T18:19:12.147Z","8.12.0":"2022-01-07T23:22:37.962Z","8.13.0":"2022-01-22T00:21:08.625Z","8.14.0":"2022-02-04T00:50:54.118Z","8.15.0":"2022-02-10T01:46:10.232Z","8.15.0-dev.0":"2022-02-10T18:45:09.038Z","8.16.0":"2022-02-22T21:08:47.473Z","8.17.0":"2022-03-04T19:09:13.519Z","8.18.0":"2022-03-18T02:54:20.404Z","8.18.0-dev.0":"2022-03-24T19:17:24.882Z","8.19.0":"2022-04-01T18:34:20.503Z","8.19.1":"2022-04-06T17:17:41.542Z","8.19.2":"2022-04-06T21:02:14.401Z","8.19.3":"2022-04-07T23:44:34.250Z","8.19.3-dev.1":"2022-04-14T20:34:43.000Z","8.19.3-size-optimized.0":"2022-04-19T22:38:55.520Z","8.20.0-size-optimized.0":"2022-04-21T23:44:53.154Z","8.20.0":"2022-04-21T23:46:23.336Z","8.20.0-dev.1":"2022-04-27T19:24:02.092Z","8.21.0":"2022-04-28T21:44:43.660Z","8.21.0-dev.1":"2022-04-29T03:38:20.955Z","8.21.0-dev.2":"2022-04-29T05:57:18.408Z","8.21.1":"2022-04-29T23:47:02.326Z","8.21.1-dev.1":"2022-04-30T18:26:13.205Z","8.21.1-dev.2":"2022-05-02T20:55:05.918Z","8.21.1-dev.3":"2022-05-02T22:47:41.058Z","8.21.1-dev.4":"2022-05-03T22:55:16.258Z","8.22.0":"2022-05-05T19:29:17.210Z","8.22.1":"2022-05-11T19:53:35.466Z","8.23.0":"2022-05-31T19:18:56.199Z","8.23.1":"2022-06-07T17:01:45.864Z","8.24.0":"2022-06-10T20:28:27.316Z","8.25.0":"2022-06-16T16:41:04.356Z","8.26.0":"2022-06-30T17:24:35.181Z","8.26.1":"2022-06-30T23:50:06.471Z","8.27.0":"2022-07-15T03:20:08.492Z","8.27.1":"2022-07-20T22:55:35.238Z","8.27.1-dev.1":"2022-07-21T21:29:35.320Z","8.27.1-dev.2":"2022-07-22T17:13:01.698Z","8.28.0-git":"2022-07-29T18:31:33.198Z","8.28.0":"2022-07-29T18:43:44.540Z","8.28.1":"2022-07-29T21:40:08.753Z","8.29.0":"2022-08-11T23:41:03.257Z","8.29.1":"2022-08-15T23:28:34.666Z","8.29.2":"2022-08-16T05:24:42.470Z","8.29.3":"2022-08-16T20:04:02.996Z","8.29.4":"2022-08-16T23:19:28.887Z","8.29.5":"2022-08-23T22:21:10.333Z","8.30.0":"2022-08-26T16:49:50.549Z","8.30.1":"2022-08-30T16:36:18.856Z","8.30.2":"2022-09-07T18:07:03.643Z","8.31.0":"2022-09-09T17:47:57.346Z","8.32.0":"2022-09-23T22:50:52.693Z","8.33.0":"2022-09-30T22:47:47.485Z","8.33.1":"2022-10-05T20:28:38.798Z","8.34.0":"2022-10-14T23:17:07.704Z","8.35.0":"2022-10-28T17:09:05.441Z","8.35.1":"2022-10-28T21:27:27.432Z","8.35.2":"2022-11-03T21:27:40.327Z","8.36.0":"2022-11-11T19:13:23.357Z","8.37.0":"2022-11-22T18:41:47.554Z","8.38.0":"2022-11-25T17:33:30.835Z","8.39.0":"2022-12-02T01:20:21.856Z","8.39.1":"2022-12-02T17:33:23.102Z","8.40.0":"2023-01-09T16:36:14.693Z","8.40.1":"2023-01-10T18:22:17.429Z","8.40.2":"2023-01-20T17:10:31.028Z","8.41.0":"2023-01-27T18:41:21.172Z","8.42.0":"2023-02-10T01:19:53.941Z","8.43.0":"2023-02-24T23:11:45.199Z","8.44.0":"2023-03-10T23:08:07.819Z","8.44.1":"2023-03-13T22:13:30.389Z","8.44.2":"2023-03-24T22:54:04.283Z","8.45.0":"2023-04-06T23:14:24.862Z","8.45.1":"2023-04-17T22:04:29.464Z","8.45.2":"2023-04-25T19:24:50.246Z","8.46.0":"2023-04-27T23:32:59.790Z","8.47.0":"2023-05-12T16:34:19.184Z","8.48.0":"2023-05-26T19:48:00.392Z","8.49.0":"2023-06-02T23:37:35.464Z","8.50.0":"2023-06-16T20:26:31.792Z","8.50.1":"2023-06-23T18:49:52.532Z","8.51.0":"2023-06-30T21:30:20.103Z","8.51.1":"2023-07-14T19:32:39.370Z","8.52.0":"2023-07-28T23:26:45.065Z","8.53.0":"2023-08-04T19:54:12.793Z","8.54.0":"2023-08-18T21:25:32.186Z","8.55.0":"2023-09-11T19:32:21.373Z","8.56.0":"2023-09-22T22:47:34.011Z","8.57.0":"2023-10-06T22:19:44.035Z","8.58.0":"2023-10-20T23:06:32.219Z","8.58.1":"2023-10-27T17:17:01.457Z","8.59.0":"2023-11-10T20:25:07.452Z","8.60.0":"2024-02-06T17:05:15.133Z","8.61.0":"2024-03-15T20:48:32.759Z","8.62.0":"2024-04-01T19:39:39.970Z"},"maintainers":[{"email":"jisong@microsoft.com","name":"jiuqing_msft"},{"email":"romasha@microsoft.com","name":"romasha"}],"repository":{"url":"git+https://github.com/Microsoft/roosterjs.git","type":"git"},"license":"MIT","homepage":"https://github.com/Microsoft/roosterjs#readme","bugs":{"url":"https://github.com/Microsoft/roosterjs/issues"},"readme":"[![Build Status](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml/badge.svg)](https://github.com/microsoft/roosterjs/actions/workflows/build-and-deploy.yml)\r\n\r\n# Rooster\r\n\r\nRooster is a framework-independent JavaScript rich-text editor neatly nested\r\ninside one HTML `<div>` element. Editing operations performed by end users are\r\nhandled in simple ways to generate the final HTML.\r\n\r\nRooster is working on top of a middle layer data structure called \"Content Model\".\r\nAll format API and editing operation are using this Content Model layer as content format,\r\nand finally convert to HTML and show it in editor.\r\n\r\nTo view the demo site, please click the link below:\r\n\r\n[RoosterJs Demo Site](https://microsoft.github.io/roosterjs/index.html).\r\n\r\n## Upgrade from RoosterJs 8.\\*\r\n\r\nPlease see [here](https://github.com/microsoft/roosterjs/wiki/RoosterJs-9).\r\n\r\n## Features\r\n\r\n### Packages\r\n\r\nRooster contains 6 basic packages.\r\n\r\n1. [roosterjs](https://microsoft.github.io/roosterjs/docs/modules/roosterjs.html):\r\n   A facade of all Rooster code for those who want a quick start. Use the\r\n   `createEditor()` function in roosterjs to create an editor with default\r\n   configurations.\r\n\r\n2. [roosterjs-content-model-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_content_model_core.html):\r\n   Defines the core editor and plugin infrastructure. Use `roosterjs-content-model-core`\r\n   instead of `roosterjs` to build and customize your own editor.\r\n\r\n3. [roosterjs-content-model-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_content_model_api.html):\r\n   Defines APIs for editor operations. Use these APIs to modify content and\r\n   formatting in the editor you built using `roosterjs-content-model-core`.\r\n\r\n4. [roosterjs-content-model-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_content_model_dom.html):\r\n   Defines APIs for Content Model and DOM operations. This package do conversion between DOM tree and roosterjs Content Model.\r\n\r\n5. [roosterjs-content-model-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_content_model_plugins.html):\r\n   Defines basic plugins for common features.\r\n\r\n6. [roosterjs-content-model-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_content_model_types.html):\r\n   Defines public interfaces and enumerations, including Content Model types, API parameters and other types.\r\n\r\nThere are also some extension packages to provide additional functionalities.\r\n\r\n1. [roosterjs-color-utils](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_color_utils.html):\r\n   Provide color transformation utility to make editor work under dark mode.\r\n\r\n2. [roosterjs-react](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_react.html):\r\n   Provide a React wrapper of roosterjs so it can be easily used with React.\r\n\r\nTo be compatible with old (8.\\*) versions, you can use `EditorAdapter` class from the following package which can act as a 8.\\* Editor:\r\n\r\n1. [roosterjs-editor-adapter](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_adapter.html):\r\n   Provide a adapter class `EditorAdapter` to work with Editor (9.\\*) and legacy plugins (via [EditorAdapterOptions.legacyPlugins](https://microsoft.github.io/roosterjs/docs/interfaces/roosterjs_editor_adapter.editoradapteroptions.html#legacyplugins))\r\n\r\nAnd the following packages are for old (8.\\*) compatibility:\r\n\r\n1. [roosterjs-editor-core](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_core.html):\r\n2. [roosterjs-editor-api](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_api.html):\r\n3. [roosterjs-editor-dom](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_dom.html):\r\n4. [roosterjs-editor-plugins](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_plugins.html):\r\n5. [roosterjs-editor-types](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types.html):\r\n6. [roosterjs-editor-types-compatible](https://microsoft.github.io/roosterjs/docs/modules/roosterjs_editor_types_compatible.html):\r\n\r\n### APIs\r\n\r\nRooster provides Content Model level APIs (in `roosterjs-content-model-dom`), core APIs (in `roosterjs-content-model-core`), and formatting APIs\r\n(in `roosterjs-content-modelapi`) to perform editing operations.\r\n\r\n`roosterjs-content-model-dom` provides several levels of Content Model operations:\r\n\r\n-   Create Content Model elements\r\n-   Convert DOM tree to Content Model\r\n-   Convert Content Model to DOM tree\r\n-   Format handlers\r\n-   A few DOM level API\r\n\r\n`roosterjs-content-model-core` provides APIs for editor core. Editor class will call such\r\nAPIs to perform basic editor operations. These APIs can be overridden by specifying\r\nAPI overrides in Editor options when creating the editor.\r\n\r\n`roosterjs-content-model-api` provides APIs for scenario-based operations triggered by\r\nuser interaction.\r\n\r\n## Plugins\r\n\r\nRooster supports plugins. You can use built-in plugins or build your own.\r\nPlugins call APIs to communicate with the editor. When an operation is\r\nperformed by the user or when content is changed by code, the editor will\r\ntrigger events for the plugins to handle.\r\n\r\nHere's a sample plugin which will show a dialog containing \"Hello Rooster\" when\r\nan \"a\" is typed in the editor:\r\n\r\n```typescript\r\nclass HelloRooster implements EditorPlugin {\r\n    getName() {\r\n        return 'HelloRooster';\r\n    }\r\n\r\n    initialize(editor: IEditor) {}\r\n\r\n    dispose() {}\r\n\r\n    onPluginEvent(e: PluginEvent) {\r\n        if (e.eventType == 'input' && e.rawEvent.which == 65) {\r\n            alert('Hello Rooster');\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## Installation\r\n\r\nInstall via NPM or Yarn:\r\n\r\n`yarn add roosterjs`\r\n\r\nYou can also install sub packages separately:\r\n\r\n`yarn add roosterjs-content-model-core`\r\n\r\n`yarn add roosterjs-content-model-api`\r\n\r\n`...`\r\n\r\nIn order to run the code below, you may also need to install [webpack](https://webpack.js.org/):\r\n\r\n`yarn add webpack -g`\r\n\r\n## Usage\r\n\r\n### A quick start\r\n\r\n1. Create `editor.htm` which contains a DIV with some styles, buttons to handle some click events and a reference to rooster.js (update with the path to your rooster.js file):\r\n\r\n```html\r\n<html>\r\n    <body>\r\n        <div style=\"width: 500px; height: 400px; border: solid 1px black\" id=\"contentDiv\"></div>\r\n        <button id=\"buttonB\">B</button> <button id=\"buttonI\">I</button>\r\n        <button id=\"buttonU\">U</button>\r\n        <script src=\"rooster.js\"></script>\r\n        <script>\r\n            var contentDiv = document.getElementById('contentDiv');\r\n            var editor = roosterjs.createEditor(contentDiv);\r\n\r\n            editor.setContent('Welcome to <b>RoosterJs</b>!');\r\n            document.getElementById('buttonB').addEventListener('click', function () {\r\n                roosterjs.toggleBold(editor);\r\n            });\r\n            document.getElementById('buttonI').addEventListener('click', function () {\r\n                roosterjs.toggleItalic(editor);\r\n            });\r\n            document.getElementById('buttonU').addEventListener('click', function () {\r\n                roosterjs.toggleUnderline(editor);\r\n            });\r\n        </script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n2. Navigate to editor.htm, you will see a editor shown in the page which includes buttons with bold, italic, underline\r\n   actions.\r\n\r\n## Sample code\r\n\r\nTo view the demo site, please click [here](https://microsoft.github.io/roosterjs/index.html).\r\n\r\nTo build the demo site code yourself, follow these instructions:\r\n\r\n1. Get dependencies using [yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com/):\r\n\r\n    ```cmd\r\n    yarn\r\n    ```\r\n\r\n2. Build the source code, and start the sample editor:\r\n\r\n    ```\r\n    yarn start\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    npm start\r\n    ```\r\n\r\n## Debugging\r\n\r\nThere are two options for debugging:\r\n\r\n1. Debugging from VSCode\r\n\r\n    - Ensure the sample editor is running\r\n    - Set the breakpoints within VSCode\r\n    - Select \"Debug app in Chrome\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/debug-in-VSCode.png\" width=\"411\" height=\"278\"><br>\r\n    - Run the scenario that needs to be debugged\r\n\r\n2. Debugging directly from the development tools within the web browser\r\n    - The directions for how to do this are specific to each web browser. By opening the developer\r\n      tools for the web browser that Rooster is running on, you will be able to set breakpoints in\r\n      the code and debug accordingly.\r\n\r\n## Running tests\r\n\r\nThere are two ways that tests can be run:\r\n\r\n1. Run all tests or a single test from VSCode<br>\r\n    - (Skip if running all tests) Ensure the file that you want to test is selected (ie: toggleBold.ts\r\n      or toggleBoldTest.ts)\r\n    - Select \"Test all files\" or \"Test current file\" from the VSCode debugging configuration dropdown\r\n      <img src=\"/assets/readme-images/test-in-VSCode.png\" width=\"402\" height=\"268\">\r\n2. Run all tests from command line\r\n    ```\r\n    yarn test\r\n    ```\r\n\r\n## Dependencies\r\n\r\nAs a NodeJs package, RoosterJs has dependencies for runtime (specified in package.json under each sub\r\npackages in \"dependencies\" section) and dependencies for build time (specified in package.json under\r\nroot path in \"devDependencies\" section).\r\n\r\nFor runtime dependencies, there are two parts:\r\n\r\n-   Internal dependencies (a RoosterJs package depends on other RoosterJs packages)\r\n-   External dependencies (RoosterJs depends on other NPM packages)\r\n\r\nCurrently we have very few external dependencies. Before adding any new dependency, we need to check:\r\n\r\n1. What's the value of the new dependency and the code using the dependency bring into roosterjs?\r\n   If we add a new dependency and create our new API to just call into the dependency, that new API\r\n   doesn't actually bring too much value, and people who uses roosterjs in their project can do this\r\n   themselves in their code, and we should not add such dependency to people who don't really need it.\r\n\r\n2. What's the dependency tree of the dependency?\r\n   If we introduce a new dependency which has a deep dependency tree, we need to be careful since it\r\n   means we are actually adding a lot of new dependencies and our code size may be increased a lot.\r\n\r\n3. How much functionalities do we need from the dependency?\r\n   If the dependency provides a lot of functionalities but we actually only need a small piece of them,\r\n   we may need to consider other solutions, such as find another smaller one, or do it ourselves.\r\n\r\n4. What's the license of the dependency?\r\n   A dependency package under MIT license is good to be used for RoosterJs. For other licenses, we need\r\n   to review and see if we can take it as a dependency.\r\n\r\nIf you still feel a new dependency is required after checking these questions, we can review it and\r\nfinally decide whether we should add the new dependency.\r\n\r\nFor build time dependencies, it is more flexible to add new dependencies since it won't increase runtime\r\ncode size or dependencies.\r\n\r\n## More documentation\r\n\r\nWe are still working on more documentation in [roosterjs wiki](https://github.com/Microsoft/roosterjs/wiki) and [API reference](https://microsoft.github.io/roosterjs/docs/index.html).\r\n\r\n## License - MIT\r\n\r\nLicense\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nLicensed under the [MIT](LICENSE) License.\r\n","readmeFilename":"README.md"}