{"_id":"@aiursoft/uistack-markdown-ui","_rev":"10-70e46ef74c66242f5884c93653257778","name":"@aiursoft/uistack-markdown-ui","dist-tags":{"latest":"1.2.6"},"versions":{"1.0.0":{"name":"@aiursoft/uistack-markdown-ui","version":"1.0.0","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.0.0","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"1245e8bd61691207c469652ae54af1c7ac56e7cf","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.0.0.tgz","fileCount":10,"integrity":"sha512-GtFyZBrKmhzYDYnsV9o0RLXhUwbR9rTS259ExWXjEGlOlOkCcRo1SvlEBXqyeDBUUTVtNpiZeU+qKF+Ew79z1A==","signatures":[{"sig":"MEUCIQCgZjVcxQYe5sZXTUTLEkinBOWfquxmLuIJ5tJ28+1TJgIgbm6MczeZc117Invi/ZK+bLofLZ8RwXjNIY7QzCYEaOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3829430},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"f490ae1f702f54666365ad1e39348e57e03ed820","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.0.0_1785271758487_0.36396635561622603","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aiursoft/uistack-markdown-ui","version":"1.0.1","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.0.1","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"2b146fb68f44768750683f13a0af77e4e6faa477","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.0.1.tgz","fileCount":10,"integrity":"sha512-The0olh7Q3gWtAJbHw6mPrHVNI20HBbFr179cNSYvLUhSwF2N0gnVOVv2EW3d8zVjk4A00YAJGWwAJGKH4ypTQ==","signatures":[{"sig":"MEYCIQChOGQw/uyMDV9pc7RrTXto6r3Q5PA2v9cbka+4xjRxbQIhAJf1nJVVfzJIOKYpMsrUqNPJHjUlL6cK2pWfyBG/9io1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3837158},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"f490ae1f702f54666365ad1e39348e57e03ed820","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.0.1_1785272881372_0.17529887139476963","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aiursoft/uistack-markdown-ui","version":"1.1.0","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.1.0","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"b54e38cf60bd2dd2c96b098d4df42e00b11b64f3","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.1.0.tgz","fileCount":10,"integrity":"sha512-4RH430Og6jFdd1bx9rQTLSNUnjnvckgDuwEqp18x9CkCM+/MloRnW+997S0Lqd5iPqKZEsnGQv1GkyQw3Hc8Kw==","signatures":[{"sig":"MEQCIHbvPc5MzeQQ+T45NrJc9XIivYLePeKBPn0H66APMMIsAiAlxHYIAhAgFHtv9b4l5ya761oiCZqK3FH9tvY9nzpTog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3926107},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"a54dbf192ed742031a00cc63f7bbf19a1391f6f3","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.1.0_1785337740689_0.5507464366105761","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@aiursoft/uistack-markdown-ui","version":"1.2.0","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.2.0","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"d0992426f985a81c555c6bec41a34e56e976c5db","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.2.0.tgz","fileCount":10,"integrity":"sha512-4WSoPOnH2ReBUKESeUiUACQBV32CXIrzYdu7XPvAVXCbO7V8rzPvVfUzwmm+7Om4Fe9ztPDu/zxY+Ri/PvuMog==","signatures":[{"sig":"MEQCIGQJ9OpOWy0AQk7UdHu1eecU+FahUjCMTACM+8P8J9jgAiBBaLT1szlyuFjqZyIXPC961DknOwLAufKSOD+uR0HLag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3941468},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"9e0b2212ca6ecff144d48b7bffc9f2f357c482a8","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.2.0_1785342230563_0.3131192984723046","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@aiursoft/uistack-markdown-ui","version":"1.2.1","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.2.1","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"08d2cff9d1dad4a34e039d513649bc9e84ac7011","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.2.1.tgz","fileCount":10,"integrity":"sha512-XbwAnlLiyi3fHjHEDcrDojyJdIMflCih617MePOyNRST5dj/0B8YOiYzBnyhSCiw8hldQQdm8JlQRQE0gbxHxA==","signatures":[{"sig":"MEUCIQDNBAp9SEEiY+Gq8J3S/j+8TK3UBVGlYAoqWGNl0vC59AIgdSS7jf+V5B2nzPBRpZyA1gQjXFkAcV8mX57rU45Y6W8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3947754},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"9e0b2212ca6ecff144d48b7bffc9f2f357c482a8","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.2.1_1785345258138_0.000525444609992487","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@aiursoft/uistack-markdown-ui","version":"1.2.2","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.2.2","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"4c01462abee757fa8925ae856ccad04e20355c90","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.2.2.tgz","fileCount":10,"integrity":"sha512-/mFWKcBwK+T44aff91Cspi1ZPICyJHOOLdjcs0bdjcCO7KmX2yypwHn1G3OWVusqxEnBBHxlmjCmfNmI3Z9cQQ==","signatures":[{"sig":"MEYCIQDBANeSeVX/sCbAGlJuoywfCxTkc0XCV1Nv6YGYjSZPZwIhAO4vD0m3yk7bUcFBxiBu4PUaBDKTa9F1jCNwBHNwcVXe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3949071},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"60e5d9ef9465ef9cfd39eaac0abbb0475af44b48","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.2.2_1785346187405_0.997742780559183","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@aiursoft/uistack-markdown-ui","version":"1.2.3","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.2.3","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"e347dcc0332bc04bdd464cdf87a4c65256d0ce16","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.2.3.tgz","fileCount":10,"integrity":"sha512-IlS1zMNzRRFmqt+vOC8FTf4vzY7vOSHvhPO2GMol8w4ZKtrXviVeVoJQ51GROrak/29LA/WE5B8FZdPzEtXOQg==","signatures":[{"sig":"MEQCIBmWqRgsf3IgEZu7vFzpD/HuacxLzYKhEfwQmyUkD2RHAiBdq6m9FJOZcosksZvjhJQDiMNYKrwuiIukBoewaHHl0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3952700},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"7ad32cd63aa96bb1c851bfdda06739f33729581d","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.1","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.2.3_1785418818515_0.98973461161564","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@aiursoft/uistack-markdown-ui","version":"1.2.4","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.2.4","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"e109b99753fb9084ac529c45bfa5a754fe4c84f5","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.2.4.tgz","fileCount":10,"integrity":"sha512-r/ELvSQo1ESJmcQ2pWqle7gcxYw1dytSgOOWsShhiUC049IlJugTLx8loSvF2Kgb4zYiLFRb6U8p80eHHDe+Fw==","signatures":[{"sig":"MEUCICK+Di2DKDLQxZu6VN99AcOsIC3QI90rhLubvQMN9/d8AiEAwytB617YKFRhOoeYAyrSsdrBKQ7FwMcDOdXEtr+6Du4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3954459},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"12127616fad44a3754325978d5c0e4c4fff9455c","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.1","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.2.4_1785420631234_0.09402050747420199","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@aiursoft/uistack-markdown-ui","version":"1.2.5","license":"MIT","_id":"@aiursoft/uistack-markdown-ui@1.2.5","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"dist":{"shasum":"4c3abfd5d57d607294767781140595137f9e7816","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.2.5.tgz","fileCount":10,"integrity":"sha512-I7vVizxxrgyWfZx5Xg0iHIl+MxpwccJOyXQI9CsXdSEyi5eDaUXT5FqU5xg3eGFr6+Mjo5MNVvR0u7CYlJPWEA==","signatures":[{"sig":"MEQCIBL8/vwFqQUoxwyzjikCCHvy2yc28V4DRbeXyTjUQeKtAiAXyKSimD1RItQsfswnn5j0JBRYs0s2idyrqhq+ihvRqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3957891},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.global.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"gitHead":"12127616fad44a3754325978d5c0e4c4fff9455c","scripts":{"test":"vitest run --coverage","build":"npm run clean && tsup","check":"npm run typecheck && npm test && npm run build","clean":"rimraf dist coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"repository":{"url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","type":"git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"_npmVersion":"11.16.0","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","directories":{},"_nodeVersion":"24.18.1","dependencies":{"markdown-it":"14.3.0","highlight.js":"11.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","jsdom":"26.1.0","rimraf":"6.0.1","vitest":"4.1.10","typescript":"5.8.3","@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/uistack-markdown-ui_1.2.5_1785422702754_0.9628053118397759","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@aiursoft/uistack-markdown-ui","version":"1.2.6","description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","license":"MIT","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","browser":"./dist/index.global.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./browser":"./dist/index.global.js"},"scripts":{"clean":"rimraf dist coverage","build":"npm run clean && tsup","typecheck":"tsc --noEmit","test":"vitest run --coverage","check":"npm run typecheck && npm test && npm run build"},"dependencies":{"highlight.js":"11.11.1","markdown-it":"14.3.0"},"devDependencies":{"@types/markdown-it":"14.1.2","@vitest/coverage-v8":"4.1.10","jsdom":"26.1.0","rimraf":"6.0.1","tsup":"8.5.0","typescript":"5.8.3","vitest":"4.1.10"},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"gitHead":"12127616fad44a3754325978d5c0e4c4fff9455c","_id":"@aiursoft/uistack-markdown-ui@1.2.6","_nodeVersion":"24.18.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-FSGuvxGk2kJ+Wsufn3m8KiM52/NZ3RO4sbIvmCFlQDrLSh8uiLlDCgrGDUIqs0nhB2GtlMcSMmQ1ocfifRknUQ==","shasum":"e921b9d3ee8318ff9cb8fd0d5d6c2ede1d16c319","tarball":"https://registry.npmjs.org/@aiursoft/uistack-markdown-ui/-/uistack-markdown-ui-1.2.6.tgz","fileCount":10,"unpackedSize":3959168,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAS5fgnkbIrSmi8bKEK8zU7HzLiN2rTTrvNWh1pc34g/AiAWVIx0osA4vhalbnb1KcXpKrUzd9B1vr9Wfh4ADsY+fA=="}]},"_npmUser":{"name":"anduin2017","email":"Anduin@aiursoft.com"},"directories":{},"maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/uistack-markdown-ui_1.2.6_1785424976158_0.6734942870623357"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-28T20:49:18.339Z","modified":"2026-07-30T15:22:56.603Z","1.0.0":"2026-07-28T20:49:18.730Z","1.0.1":"2026-07-28T21:08:01.531Z","1.1.0":"2026-07-29T15:09:00.989Z","1.2.0":"2026-07-29T16:23:50.793Z","1.2.1":"2026-07-29T17:14:18.327Z","1.2.2":"2026-07-29T17:29:47.593Z","1.2.3":"2026-07-30T13:40:18.716Z","1.2.4":"2026-07-30T14:10:31.443Z","1.2.5":"2026-07-30T14:45:02.940Z","1.2.6":"2026-07-30T15:22:56.388Z"},"license":"MIT","repository":{"type":"git","url":"https://gitlab.aiursoft.com/aiursoft/uistack.git","directory":"src/Aiursoft.UiStack.MarkdownUi"},"description":"Shared, secure Markdown editing and reading utilities for Aiursoft applications.","maintainers":[{"name":"anduin2017","email":"Anduin@aiursoft.com"}],"readme":"# @aiursoft/uistack-markdown-ui\n\nShared Markdown UI behavior for Aiursoft applications.\n\n- Secure `markdown-it` rendering with native HTML disabled\n- highlight.js 11.11.1 highlighting\n- Mermaid 11 enhancement with `securityLevel: \"strict\"`\n- MathJax 3 enhancement and print coordination\n- Monaco-compatible paste and drag/drop image upload\n- Shared Monaco editor lifecycle, shortcuts, preview, view modes and textarea fallback\n\n## Install\n\n```bash\nnpm install @aiursoft/uistack-markdown-ui\n```\n\n## Editor preview\n\n```js\nimport { renderMarkdown } from \"@aiursoft/uistack-markdown-ui\";\n\npreview.innerHTML = renderMarkdown(editor.getValue());\n```\n\nThe renderer supports `$...$`, `$$...$$`, `\\\\(...\\\\)` and `\\\\[...\\\\]`. Native HTML is\nalways escaped. A fenced `mermaid` block remains unhighlighted for Mermaid to process.\n\n## Complete Markdown editor\n\n`createMarkdownEditor` owns the common editor behavior while the application remains\nresponsible for loading Monaco. Passing a loader instead of importing Monaco keeps it\nout of application bundles and works with the standard Monaco AMD loader.\n\n```js\nimport { createMarkdownEditor } from \"@aiursoft/uistack-markdown-ui\";\n\nconst markdownEditor = await createMarkdownEditor({\n  editorContainer: document.querySelector(\"#markdown-editor\"),\n  textarea: document.querySelector(\"#markdown-source\"),\n  previewContainer: document.querySelector(\"#markdown-preview\"),\n  editorPane: document.querySelector(\"#editor-pane\"),\n  previewPane: document.querySelector(\"#preview-pane\"),\n  form: document.querySelector(\"form\"),\n  loadMonaco: () => AiursoftMarkdownUi.loadMonacoFromAmd(),\n  theme: \"vs-dark\",\n  uploadUrl: \"/api/files/upload\",\n  initialViewMode: \"split\",\n  viewModeStorageKey: \"markdown-view-mode\",\n  viewModeControls: [\n    { element: document.querySelector(\"#edit-mode\"), mode: \"editor\" },\n    { element: document.querySelector(\"#split-mode\"), mode: \"split\" },\n    { element: document.querySelector(\"#preview-mode\"), mode: \"preview\" }\n  ],\n  hljs,\n  mermaid,\n  MathJax,\n  onSave: markdown => saveMarkdown(markdown),\n  onInitializationError: error => console.error(\"Monaco failed to initialize\", error),\n  onPreviewError: error => console.error(\"Markdown preview failed\", error)\n});\n\nawait markdownEditor.setViewMode(\"preview\");\nmarkdownEditor.syncTextarea();\nmarkdownEditor.setValue(\"# Updated\");\nmarkdownEditor.focus();\nmarkdownEditor.dispose();\n```\n\nThe controller initializes Monaco for Markdown, keeps the original textarea synchronized,\ndebounces secure preview rendering, enhances highlight.js/Mermaid/MathJax, supports image\npaste and drop, and applies consistent professional Monaco defaults (14px Cascadia Code\nfont stack, ligatures, semantic highlighting and comfortable vertical padding). Applications\ncan still override individual Monaco settings through `editorOptions`.\n\nIt also registers consistent Markdown shortcuts:\n\n- <kbd>Ctrl/Cmd+B</kbd>: bold\n- <kbd>Ctrl/Cmd+I</kbd>: italic\n- <kbd>Ctrl/Cmd+K</kbd>: inline or fenced code\n- <kbd>Ctrl/Cmd+L</kbd>: link\n- <kbd>Ctrl/Cmd+1</kbd> through <kbd>Ctrl/Cmd+6</kbd>: headings\n- <kbd>Ctrl/Cmd+S</kbd>: `onSave`\n- <kbd>Enter</kbd>: continue bullet and ordered lists\n\nIf Monaco cannot be loaded, the original textarea becomes visible and continues to drive\nthe same preview. Applications therefore use one fallback policy instead of implementing\ntheir own. Preview enhancement errors are reported through `onPreviewError` and never\nreplace a working Monaco editor. `onError` remains as a deprecated compatibility callback\nfor both error categories.\n\n## Reading pages\n\n```js\nimport {\n  initializeMarkdownReader,\n  printMarkdown\n} from \"@aiursoft/uistack-markdown-ui\";\n\nawait initializeMarkdownReader({\n  container: \".markdown-body\",\n  hljs,\n  mermaid,\n  MathJax\n});\n\nprintButton.addEventListener(\"click\", () =>\n  printMarkdown({ container: \".markdown-body\", hljs, mermaid, MathJax }));\n```\n\nOnly code blocks inside the supplied container are highlighted. Mermaid is always\ninitialized in strict security mode. The reader also applies the shared responsive\nBootstrap table treatment and opens rendered links with `noopener noreferrer`.\n\n## Image paste and drop\n\n```js\nimport { attachImageUpload } from \"@aiursoft/uistack-markdown-ui\";\n\nconst uploads = attachImageUpload({\n  editor,\n  eventTarget: editorContainer.parentElement,\n  uploadUrl: \"/api/files/upload\",\n  onError: (error, file) => console.error(`Failed to upload ${file.name}`, error)\n});\n\n// Call uploads.dispose() when the editor is destroyed.\n```\n\nThe default queue uploads three files concurrently and retries HTTP 429 responses up\nto five times. Clipboard images are accepted from both `clipboardData.files` and\n`clipboardData.items`, and are captured before Monaco consumes the paste event. Use\nthe parent of Monaco's host container as `eventTarget`; `createMarkdownEditor()` does\nthis automatically. Use `getImageUrl` when an endpoint does not return\n`internetPath` or `InternetPath`.\n\n## Aiursoft application contract\n\nMarkToHtml, MoongladeV2, EmployeeCenter and Kanban use the global IIFE build and the\nsame `createMarkdownEditor` contract. Monaco, live preview, highlight.js, Mermaid,\nMathJax, Markdown shortcuts, image paste/drop, editor/split/preview modes and the\ntextarea fallback are required capabilities for these full editors.\n\nDocsViewer and HowToCookViewer are reader-only consumers. Their Markdown containers\nuse `initializeMarkdownReader` for highlighting, Mermaid, MathJax, responsive tables\nand safe external-link behavior.\n\nTranslate is an intentional product-level exception. It keeps its lightweight\nCodeMirror Markdown input because translation does not need code highlighting,\nMermaid, MathJax, uploads or the full editing toolbar. It must not be treated as an\nincomplete migration.\n","readmeFilename":"README.md"}