{"_id":"@apigo.cc/ui","_rev":"9-b3ef3b9b6f297ac6054795682095ff35","name":"@apigo.cc/ui","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.1":{"name":"@apigo.cc/ui","version":"1.0.1","_id":"@apigo.cc/ui@1.0.1","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"dist":{"shasum":"4ee9c32460f12613dcaf097f6d9f5d5b6a346dee","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.1.tgz","fileCount":84,"integrity":"sha512-R4hAUy/eVCVwaR6puTG5UyVbHnoOc+8FjDF+a6wKmDKSUb+0eMK/Z0AluNFk6Z10UuglQ60K4B1qxZ13+YZ6CQ==","signatures":[{"sig":"MEQCID/D2keu//A7yq10WtemFX1O5Agd0ls16lZX258HvQNAAiAHEohrX2RdtnGPoDnfYqjbmQxUNFoGI9JuMe+WrnnEJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2194790},"gitHead":"29610f1ab05cc112d656281ce4f6aacf56dbf4b9","private":false,"scripts":{"dev":"node tools/dev.cjs","pub":"npm run build && npm publish --access public","test":"node tools/test.cjs","build":"node tools/build.cjs"},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"_npmVersion":"11.17.0","description":"[English](README.md) | 中文","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.1_1783952668277_0.9797528570312304","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@apigo.cc/ui","version":"1.0.2","_id":"@apigo.cc/ui@1.0.2","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"dist":{"shasum":"217ca07badd97cbf8d079aa29c2f129d86125a97","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.2.tgz","fileCount":155,"integrity":"sha512-IlvPLz7NiVK9MDlaBSifPyKITfGSDrLr6cxEgj1RcrJ7hvUbDLKV9L3/02Z7mb6mxWRfFnCfmxmyWWqLNO0HYw==","signatures":[{"sig":"MEUCIDObkgoOI0SxpmKK2UWA3Zlj5baSF7ziuI8l3KRJR6YeAiEAw9D/W2Uxc8QN3gAxy85gxTcnZntLZE3sl2l7xeRWVAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6218882},"gitHead":"28b77e946dcb0690e8677c8ad42e8f7fe8ba953a","private":false,"scripts":{"dev":"node tools/dev.cjs","pub":"npm run build && npm publish --access public","test":"node tools/test.cjs","build":"node tools/build.cjs"},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"_npmVersion":"11.17.0","description":"[English](README.md) | 中文","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.50.0","terser":"^5.44.0","@lezer/lr":"^1.4.0","dompurify":"^3.4.0","codemirror":"^6.0.0","markdown-it":"^14.3.0","@lezer/common":"^1.5.0","@codemirror/lint":"^6.9.0","@codemirror/view":"^6.38.0","@lezer/highlight":"^1.2.0","@playwright/test":"^1.60.0","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.0","@codemirror/lang-css":"^6.3.0","@codemirror/language":"^6.12.0","@codemirror/lang-html":"^6.4.0","@codemirror/lang-json":"^6.0.0","@codemirror/lang-yaml":"^6.1.0","markdown-it-task-lists":"^2.1.0","@codemirror/lang-python":"^6.2.0","@rollup/plugin-commonjs":"^29.0.0","@codemirror/autocomplete":"^6.18.0","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.0","@codemirror/lang-javascript":"^6.2.0","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.2_1786618980772_0.8910629371087098","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@apigo.cc/ui","version":"1.0.3","_id":"@apigo.cc/ui@1.0.3","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"dist":{"shasum":"dc160605a1910c070066f63251c8fba2b7398029","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.3.tgz","fileCount":162,"integrity":"sha512-+rmJ77GLRlBJANczEnAyZsH0j1yBi08lqfH9lO1Zpo999yAose0aoXMuI7v6sqyrAUEqBdxXyt0wcPSDD5vTuQ==","signatures":[{"sig":"MEYCIQDThBQlLREn1TjSTPzsa+RejnWLpdlgZ3UtVdwGirwTnAIhALvcCeK5RNsMgQt8eGM43BS5AwCEn67mioDom+obyHyf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6241319},"gitHead":"6b746df110316924aa1ea967a62ca25c186d290f","private":false,"scripts":{"dev":"node tools/dev.cjs","pub":"npm run build && npm publish --access public","test":"node tools/test.cjs","build":"node tools/build.cjs"},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"_npmVersion":"11.17.0","description":"[English](README.md) | 中文","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.50.0","terser":"^5.44.0","@lezer/lr":"^1.4.0","dompurify":"^3.4.0","codemirror":"^6.0.0","markdown-it":"^14.3.0","@lezer/common":"^1.5.0","@codemirror/lint":"^6.9.0","@codemirror/view":"^6.38.0","@lezer/highlight":"^1.2.0","@playwright/test":"^1.60.0","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.0","@codemirror/lang-css":"^6.3.0","@codemirror/language":"^6.12.0","@codemirror/lang-html":"^6.4.0","@codemirror/lang-json":"^6.0.0","@codemirror/lang-yaml":"^6.1.0","markdown-it-task-lists":"^2.1.0","@codemirror/lang-python":"^6.2.0","@rollup/plugin-commonjs":"^29.0.0","@codemirror/autocomplete":"^6.18.0","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.0","@codemirror/lang-javascript":"^6.2.0","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.3_1786694659498_0.9850569503491966","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@apigo.cc/ui","version":"1.0.4","_id":"@apigo.cc/ui@1.0.4","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"dist":{"shasum":"5e8a09ac904330033cfa60953745d2af24f3264a","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.4.tgz","fileCount":162,"integrity":"sha512-NNEJXiyD+ADE7Jtj94yMgcbp0IoTrheARn+TvMzVUtwzjXyHkWkRYvB7FzRGbRZID9RVpJc26SY1n8wuUP4qOw==","signatures":[{"sig":"MEUCICOvi6xzeN9hmnub5/0DMm7G1vqBUUpZ5cHpoW3ja62qAiEAs4DkFmGiTOh/7qla35+TqTsD3b/+/3SDybkxO1SZgGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6250787},"gitHead":"e370efc6ae5664ec27abdd8715537f5e6520b09c","private":false,"scripts":{"dev":"node tools/dev.cjs","pub":"npm run build && npm publish --access public","test":"node tools/test.cjs","build":"node tools/build.cjs"},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"_npmVersion":"11.17.0","description":"[English](README.md) | 中文","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.50.0","terser":"^5.44.0","@lezer/lr":"^1.4.0","dompurify":"^3.4.0","codemirror":"^6.0.0","markdown-it":"^14.3.0","@lezer/common":"^1.5.0","@codemirror/lint":"^6.9.0","@codemirror/view":"^6.38.0","@lezer/highlight":"^1.2.0","@playwright/test":"^1.60.0","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.0","@codemirror/lang-css":"^6.3.0","@codemirror/language":"^6.12.0","@codemirror/lang-html":"^6.4.0","@codemirror/lang-json":"^6.0.0","@codemirror/lang-yaml":"^6.1.0","markdown-it-task-lists":"^2.1.0","@codemirror/lang-python":"^6.2.0","@rollup/plugin-commonjs":"^29.0.0","@codemirror/autocomplete":"^6.18.0","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.0","@codemirror/lang-javascript":"^6.2.0","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.4_1786941867394_0.07424523996070831","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@apigo.cc/ui","version":"1.0.5","_id":"@apigo.cc/ui@1.0.5","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"dist":{"shasum":"a59d2f76a31560dbc7eca7fb0f7a23ae294b662a","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.5.tgz","fileCount":162,"integrity":"sha512-lnO84vdvFo0ezv/y/iog2YHBEbC1lO/3r6dy2jPHGRWwkS3JNur8pL4DlU2FUX/9SB6KdpWrJJX7q34x+eQ7Qg==","signatures":[{"sig":"MEYCIQCoFK9narRKkDL5kaO1qTTuzdJ62a0GYfXuWXgdRqyGQgIhAKS5LU9bvLZLA/hE26Lbu3yT1ezBDwOHfyWNENVseYAj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6257424},"gitHead":"315e0c7bc54a80ff0df004bbe1369f639e96ebe3","private":false,"scripts":{"dev":"node tools/dev.cjs","pub":"npm run build && npm publish --access public","test":"node tools/test.cjs","build":"node tools/build.cjs"},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"_npmVersion":"11.17.0","description":"[English](README.md) | 中文","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.50.0","terser":"^5.44.0","@lezer/lr":"^1.4.0","dompurify":"^3.4.0","codemirror":"^6.0.0","markdown-it":"^14.3.0","@lezer/common":"^1.5.0","@codemirror/lint":"^6.9.0","@codemirror/view":"^6.38.0","@lezer/highlight":"^1.2.0","@playwright/test":"^1.60.0","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.0","@codemirror/lang-css":"^6.3.0","@codemirror/language":"^6.12.0","@codemirror/lang-html":"^6.4.0","@codemirror/lang-json":"^6.0.0","@codemirror/lang-yaml":"^6.1.0","markdown-it-task-lists":"^2.1.0","@codemirror/lang-python":"^6.2.0","@rollup/plugin-commonjs":"^29.0.0","@codemirror/autocomplete":"^6.18.0","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.0","@codemirror/lang-javascript":"^6.2.0","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.5_1787068393826_0.8841432770369215","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@apigo.cc/ui","version":"1.0.6","_id":"@apigo.cc/ui@1.0.6","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"dist":{"shasum":"4247a613839efa5beb8634917f74370cc2e61a1f","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.6.tgz","fileCount":166,"integrity":"sha512-NKag+bKzNVo9x6RiVPGvZZjtQNydPEyzmHn5YOhUhpdVn2SRvzV+37wOsVhdRBU0VJvGw8J7WAUOiSKaiAY3lQ==","signatures":[{"sig":"MEYCIQD0M9J1gZ8ASePbDeK3pvsDxq3s2wG+KooALb1aRMe1WgIhAI2aMNar1lmCS/9uBaD4nJ8QzYXn7+FbrasjVYILpbfK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6432796},"private":false,"scripts":{"dev":"node tools/dev.cjs","pub":"npm run build && npm publish --access public","test":"node tools/test.cjs","build":"node tools/build.cjs"},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"_npmVersion":"11.17.0","description":"[English](README.md) | 中文","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.50.0","terser":"^5.44.0","@lezer/lr":"^1.4.0","dompurify":"^3.4.0","codemirror":"^6.0.0","markdown-it":"^14.3.0","@lezer/common":"^1.5.0","@codemirror/lint":"^6.9.0","@codemirror/view":"^6.38.0","@lezer/highlight":"^1.2.0","@playwright/test":"^1.60.0","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.0","@codemirror/lang-css":"^6.3.0","@codemirror/language":"^6.12.0","@codemirror/lang-html":"^6.4.0","@codemirror/lang-json":"^6.0.0","@codemirror/lang-yaml":"^6.1.0","markdown-it-task-lists":"^2.1.0","@codemirror/lang-python":"^6.2.0","@rollup/plugin-commonjs":"^29.0.0","@codemirror/autocomplete":"^6.18.0","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.0","@codemirror/lang-javascript":"^6.2.0","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.6_1787394248186_0.6320293419766514","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@apigo.cc/ui","version":"1.0.7","_id":"@apigo.cc/ui@1.0.7","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"dist":{"shasum":"226831f469ec7bd421514a0aa4f91ea231651a7e","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.7.tgz","fileCount":166,"integrity":"sha512-dhG+O0LesJPgaINbH/+XobxnJGj1E6YGh27RjQs3vBijZnoReSVdp3QXN6nMA4C5/Y6qOXJEixQyrm5CoTnNww==","signatures":[{"sig":"MEQCIEs/zchQtmtOFo8c1Ad2XbaKNTQJJy8O8ZpP3ct5lGEqAiAPp1ax/9Qv5AYGzu2EAlRcxEm3nKtIsEC8zucVv/rRJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6435874},"private":false,"scripts":{"dev":"node tools/dev.cjs","pub":"npm run build && npm publish --access public","test":"node tools/test.cjs","build":"node tools/build.cjs"},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"_npmVersion":"11.17.0","description":"[English](README.md) | 中文","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.50.0","terser":"^5.44.0","@lezer/lr":"^1.4.0","dompurify":"^3.4.0","codemirror":"^6.0.0","markdown-it":"^14.3.0","@lezer/common":"^1.5.0","@codemirror/lint":"^6.9.0","@codemirror/view":"^6.38.0","@lezer/highlight":"^1.2.0","@playwright/test":"^1.60.0","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.0","@codemirror/lang-css":"^6.3.0","@codemirror/language":"^6.12.0","@codemirror/lang-html":"^6.4.0","@codemirror/lang-json":"^6.0.0","@codemirror/lang-yaml":"^6.1.0","markdown-it-task-lists":"^2.1.0","@codemirror/lang-python":"^6.2.0","@rollup/plugin-commonjs":"^29.0.0","@codemirror/autocomplete":"^6.18.0","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.0","@codemirror/lang-javascript":"^6.2.0","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.7_1787394624002_0.40595496336565406","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@apigo.cc/ui","version":"1.0.8","_id":"@apigo.cc/ui@1.0.8","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"dist":{"shasum":"c0eb176da664e2e4d68cf1209ac4e65d959466a7","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.8.tgz","fileCount":166,"integrity":"sha512-oYDBx6hr+FVlO+lXOm2uflvziAx3bUXY4da0DtjfQwifuJtgWvq6jqcNcFHjEV8nIuzmNjDctDFvO1lHkoTS6w==","signatures":[{"sig":"MEQCIDrOUiHkSBTwXrNqsxl2L0Yp1ZdtWLjvpdUH8w/U8cFDAiAnNnzZJHKy2dolGeCtQSrr/veFFZpkLQJRShdcQQFm8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6440692},"gitHead":"c5a4e45711d404683f0b1b738faaab647dbdc002","private":false,"scripts":{"dev":"node tools/dev.cjs","pub":"npm run build && npm publish --access public","test":"node tools/test.cjs","build":"node tools/build.cjs"},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"_npmVersion":"11.17.0","description":"[English](README.md) | 中文","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.50.0","terser":"^5.44.0","@lezer/lr":"^1.4.0","dompurify":"^3.4.0","codemirror":"^6.0.0","markdown-it":"^14.3.0","@lezer/common":"^1.5.0","@codemirror/lint":"^6.9.0","@codemirror/view":"^6.38.0","@lezer/highlight":"^1.2.0","@playwright/test":"^1.60.0","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.0","@codemirror/lang-css":"^6.3.0","@codemirror/language":"^6.12.0","@codemirror/lang-html":"^6.4.0","@codemirror/lang-json":"^6.0.0","@codemirror/lang-yaml":"^6.1.0","markdown-it-task-lists":"^2.1.0","@codemirror/lang-python":"^6.2.0","@rollup/plugin-commonjs":"^29.0.0","@codemirror/autocomplete":"^6.18.0","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.0","@codemirror/lang-javascript":"^6.2.0","@rollup/plugin-node-resolve":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.8_1787416305186_0.30078668259719277","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@apigo.cc/ui","version":"1.0.9","private":false,"scripts":{"build":"node tools/build.cjs","dev":"node tools/dev.cjs","test":"node tools/test.cjs","pub":"npm run build && npm publish --access public"},"devDependencies":{"@codemirror/autocomplete":"^6.18.0","@codemirror/commands":"^6.10.0","@codemirror/lang-css":"^6.3.0","@codemirror/lang-html":"^6.4.0","@codemirror/lang-javascript":"^6.2.0","@codemirror/lang-json":"^6.0.0","@codemirror/lang-markdown":"^6.5.0","@codemirror/lang-python":"^6.2.0","@codemirror/lang-yaml":"^6.1.0","@codemirror/language":"^6.12.0","@codemirror/lint":"^6.9.0","@codemirror/state":"^6.6.0","@codemirror/theme-one-dark":"^6.1.0","@codemirror/view":"^6.38.0","@lezer/common":"^1.5.0","@lezer/highlight":"^1.2.0","@lezer/lr":"^1.4.0","@playwright/test":"^1.60.0","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.0","codemirror":"^6.0.0","dompurify":"^3.4.0","markdown-it":"^14.3.0","markdown-it-task-lists":"^2.1.0","rollup":"^4.50.0","terser":"^5.44.0"},"gitHead":"e036d5242b17a8397f33dbfb3a7b85cbdea4f11f","_id":"@apigo.cc/ui@1.0.9","description":"[English](README.md) | 中文","_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-X40GRu2B4wdja3Kp78ascK2eseBg5cJb/pm0WaUHjnRmg0Tkz4EvGcH8boY9o9+fMqgT3Qfo28dMyRKXZO34Pg==","shasum":"8f68bbb9e100a5d69e6fe3b540d0ebf30249de78","tarball":"https://registry.npmjs.org/@apigo.cc/ui/-/ui-1.0.9.tgz","fileCount":165,"unpackedSize":6263922,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDfKqf49P/QerVtKROgxY/v62Gkg2eUa/qEobvuuxa47QIhAI18Uh4z8mSbEdaEmly6P3sa8sS2dquf5C50sWRhbUQ5"}]},"_npmUser":{"name":"star3s","email":"isstar3@126.com"},"directories":{},"maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_1.0.9_1787615901803_0.09652176723114514"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-13T14:24:28.149Z","modified":"2026-08-24T23:58:22.179Z","1.0.1":"2026-07-13T14:24:28.428Z","1.0.2":"2026-08-13T11:03:00.959Z","1.0.3":"2026-08-14T08:04:19.689Z","1.0.4":"2026-08-17T04:44:27.570Z","1.0.5":"2026-08-18T15:53:14.014Z","1.0.6":"2026-08-22T10:24:08.399Z","1.0.7":"2026-08-22T10:30:24.251Z","1.0.8":"2026-08-22T16:31:45.422Z","1.0.9":"2026-08-24T23:58:22.009Z"},"description":"[English](README.md) | 中文","maintainers":[{"name":"star3s","email":"isstar3@126.com"}],"readme":"# @apigo.cc/ui\n\n[English](README.md) | 中文\n\n`@apigo.cc/ui` 是不需要生产构建的原生 JavaScript UI 组件库。页面使用一个 `ui.js` 入口，并且每个页面都显式写出使用的组件：\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@apigo.cc/ui@1.0.9/ui.js\" components=\"base,form\"></script>\n```\n\n`ui.js` 默认加载框架和兼容性核心 utilities；专用 utilities 与内嵌 libraries 会根据组件依赖自动加载。`components` 中只填写页面直接使用的公开组件名，例如 `components=\"List,Chart,Kanban\"`；组件依赖会自动加载，不需要主动声明底层模块。\n\n必须把脚本放在 `<head>`，并使用普通 `<script>`。不要使用 `async`、`defer` 或 `type=\"module\"`，这样 state 才能在 DOMContentLoaded 前完成组件注册，并对完整页面执行首次扫描。\n\nAI 辅助开发时，只需把统一入口 [https://apigo.cc/web/ui/ai/llms.txt](https://apigo.cc/web/ui/ai/llms.txt) 交给 AI。它会先读取这份按任务加载的索引，再只读取当前任务需要的 framework、utility 和 component YAML。仓库内入口文件为 [llms.txt](llms.txt)；文档与源码同目录，组件示例直接写在对应 YAML 中。\n\n`npm run build` 不会生成 `dist`。它会构建 CodeMirror 浏览器核心、可按需加载的语言包和安全 Markdown 渲染器，将 `../state/dist/state.js` 和 `../bootstrap/dist/bootstrap.js` 复制到 `frameworks/`，再把所有源码文件的最后修改时间缓存版本写入 `ui.js`，并在源码旁生成 `.min.js`。加载 `ui.min.js` 时，入口会自动改为加载对应的 framework、library、utility 和 component 的 `.min.js`。UI 包的版本独立于前置框架包。\n\n`MarkdownViewer` 直接把 Markdown 字符串渲染为文档。`CodeEditor` 支持 JavaScript、JSON、YAML、Python、HTML、CSS 和 Markdown；`.md` 与 `.html` 文档可切换源码、分屏和预览模式。HTML 预览脚本需要显式开启，并在不具备同源权限的沙箱 iframe 中运行。\n","readmeFilename":"README.zh-CN.md"}