galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
116 lines • 8.5 kB
JSON
{
"id": "SelfMadeSystem_quiet-panda-44",
"name": "quiet-panda-44",
"category": "buttons",
"author": "SelfMadeSystem",
"description": "quiet-panda-44 组件 (animation, button, upload, line, lineart, line-art, interactive)",
"tags": [
"animation",
"button",
"upload",
"line",
"lineart",
"line-art",
"interactive"
],
"original": {
"html": "<button class=\"button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\">\n <rect class=\"border\" pathLength=\"100\"></rect>\n <rect class=\"loading\" pathLength=\"100\"></rect>\n\n <svg class=\"done-svg\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"done done-cloud\" pathLength=\"100\" d=\"M 6.5,20 Q 4.22,20 2.61,18.43 1,16.85 1,14.58 1,12.63 2.17,11.1 3.35,9.57 5.25,9.15 5.88,6.85 7.75,5.43 9.63,4 12,4 14.93,4 16.96,6.04 19,8.07 19,11 q 1.73,0.2 2.86,1.5 1.14,1.28 1.14,3 0,1.88 -1.31,3.19 Q 20.38,20 18.5,20 Z\"></path>\n <path class=\"done done-check\" pathLength=\"100\" d=\"M 7.515,12.74 10.34143,15.563569 15.275,10.625\"></path>\n </svg>\n </svg>\n <div class=\"txt-upload\">Upload</div>\n</button>",
"css": "/* From Uiverse.io by SelfMadeSystem - Tags: animation, button, upload, line, lineart, line-art */\n.button {\n position: relative;\n width: 10rem;\n height: 3rem;\n cursor: pointer;\n border: none;\n background: none;\n}\n\n.button svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n}\n\n.border {\n width: 100%;\n height: 100%;\n stroke: black;\n stroke-width: 2px;\n fill: #0000;\n rx: 1em;\n ry: 1em;\n stroke-dasharray: 25;\n transition: fill 0.25s;\n animation: 4s linear infinite stroke-animation;\n}\n\n.button:hover .border {\n fill: #0001;\n}\n\n.button:focus .border {\n transition: fill 0.25s 7.75s;\n fill: #0000;\n}\n\n@keyframes stroke-animation {\n 0% {\n stroke-dashoffset: 100;\n }\n to {\n stroke-dashoffset: 0;\n }\n}\n\n.txt-upload {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.txt-upload::after {\n content: \"\";\n}\n\n.button:focus .rect {\n stroke-dasharray: 50;\n}\n.button:focus .border {\n stroke: #0000;\n}\n\n.button:focus .txt-upload {\n opacity: 0;\n transition: opacity 0.25s 8s;\n}\n\n.button:focus .txt-upload::after {\n animation: 0.66666s anim step-end forwards,\n 1.33333s 0.6666s anim2 linear infinite alternate;\n}\n\n@keyframes anim {\n 0% {\n content: \"i\";\n }\n 50% {\n content: \"in\";\n }\n to {\n content: \"ing\";\n }\n}\n\n@keyframes anim2 {\n 0% {\n content: \"ing\";\n }\n 33% {\n content: \"ing.\";\n }\n 66% {\n content: \"ing..\";\n }\n to {\n content: \"ing...\";\n }\n}\n\n.loading {\n width: 100%;\n height: 100%;\n stroke: #0055d4;\n stroke-width: 2px;\n fill: none;\n rx: 1em;\n ry: 1em;\n stroke-dasharray: 0 100;\n}\n\n.button:focus .loading {\n transition: stroke 0.5s 7.5s, stroke-dasharray 8s 0.5s ease-out;\n stroke: #08ca08;\n stroke-dasharray: 100 0;\n}\n\n.done {\n fill: none;\n stroke: #000;\n stroke-dasharray: 0 100;\n}\n\n.button:focus .done-cloud {\n transition: stroke-dasharray 0.75s 8.5s ease-out;\n stroke-dasharray: 100 0;\n}\n\n.button:focus .done-check {\n transition: stroke-dasharray 0.5s 9.2s ease-out;\n stroke: #08ca08;\n stroke-dasharray: 100 0;\n}",
"file_path": "/mnt/persist/workspace/Buttons/SelfMadeSystem_quiet-panda-44.html"
},
"uniapp": {
"template": "<button class=\"button\"></button>\n <view xmlns=\"http://www.w3.org/2000/svg\"></view>\n <rect class=\"border\" pathLength=\"100\"></rect>\n <rect class=\"loading\" pathLength=\"100\"></rect>\n\n <view class=\"done-svg\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"></view>\n <path class=\"done done-cloud\" pathLength=\"100\" d=\"M 6.5,20 Q 4.22,20 2.61,18.43 1,16.85 1,14.58 1,12.63 2.17,11.1 3.35,9.57 5.25,9.15 5.88,6.85 7.75,5.43 9.63,4 12,4 14.93,4 16.96,6.04 19,8.07 19,11 q 1.73,0.2 2.86,1.5 1.14,1.28 1.14,3 0,1.88 -1.31,3.19 Q 20.38,20 18.5,20 Z\"></path>\n <path class=\"done done-check\" pathLength=\"100\" d=\"M 7.515,12.74 10.34143,15.563569 15.275,10.625\"></path>\n </svg>\n </svg>\n <view class=\"txt-upload\">Upload</view>\n</button>",
"script": "export default {\n name: 'GalaxyQuietPanda44',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by SelfMadeSystem - Tags: animation, button, upload, line, lineart, line-art */\n.button {\n position: relative;\n width: 10rem;\n height: 3rem;\n /* #ifdef H5 */\n cursor: pointer;\n /* #endif */\n border: none;\n background: none;\n}\n\n.button svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n}\n\n.border {\n width: 100%;\n height: 100%;\n stroke: black;\n stroke-width: 4rpx;\n fill: #0000;\n rx: 1em;\n ry: 1em;\n stroke-dasharray: 25;\n transition: fill 0.25s;\n animation: 4s linear infinite stroke-animation;\n}\n\n.button:hover .border {\n fill: #0001;\n}\n\n.button:focus .border {\n transition: fill 0.25s 7.75s;\n fill: #0000;\n}\n\n@keyframes stroke-animation {\n 0% {\n stroke-dashoffset: 100;\n }\n to {\n stroke-dashoffset: 0;\n }\n}\n\n.txt-upload {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.txt-upload::after {\n content: \"\";\n}\n\n.button:focus .rect {\n stroke-dasharray: 50;\n}\n.button:focus .border {\n stroke: #0000;\n}\n\n.button:focus .txt-upload {\n opacity: 0;\n transition: opacity 0.25s 8s;\n}\n\n.button:focus .txt-upload::after {\n animation: 0.66666s anim step-end forwards,\n 1.33333s 0.6666s anim2 linear infinite alternate;\n}\n\n@keyframes anim {\n 0% {\n content: \"i\";\n }\n 50% {\n content: \"in\";\n }\n to {\n content: \"ing\";\n }\n}\n\n@keyframes anim2 {\n 0% {\n content: \"ing\";\n }\n 33% {\n content: \"ing.\";\n }\n 66% {\n content: \"ing..\";\n }\n to {\n content: \"ing...\";\n }\n}\n\n.loading {\n width: 100%;\n height: 100%;\n stroke: #0055d4;\n stroke-width: 4rpx;\n fill: none;\n rx: 1em;\n ry: 1em;\n stroke-dasharray: 0 100;\n}\n\n.button:focus .loading {\n transition: stroke 0.5s 7.5s, stroke-dasharray 8s 0.5s ease-out;\n stroke: #08ca08;\n stroke-dasharray: 100 0;\n}\n\n.done {\n fill: none;\n stroke: #000;\n stroke-dasharray: 0 100;\n}\n\n.button:focus .done-cloud {\n transition: stroke-dasharray 0.75s 8.5s ease-out;\n stroke-dasharray: 100 0;\n}\n\n.button:focus .done-check {\n transition: stroke-dasharray 0.5s 9.2s ease-out;\n stroke: #08ca08;\n stroke-dasharray: 100 0;\n}\n\n",
"component_name": "GalaxyQuietPanda44"
},
"platforms": {
"h5": true,
"mp-weixin": true,
"mp-alipay": true,
"mp-baidu": true,
"mp-toutiao": true,
"app-plus": true
},
"props": [
{
"name": "disabled",
"type": "Boolean",
"default": false,
"required": false,
"description": "是否禁用"
},
{
"name": "text",
"type": "String",
"default": "按钮",
"required": false,
"description": "按钮文字"
},
{
"name": "type",
"type": "String",
"default": "primary",
"required": false,
"description": "按钮类型"
}
],
"events": [
{
"name": "click",
"description": "点击事件",
"parameters": [
"event"
]
}
],
"slots": [
{
"name": "",
"description": "",
"props": []
}
],
"compatibility": {
"h5": {
"supported": true,
"issues": [],
"alternatives": []
},
"mp-weixin": {
"supported": true,
"issues": [
"不支持 cursor 属性"
],
"alternatives": []
},
"mp-alipay": {
"supported": true,
"issues": [
"不支持 cursor 属性"
],
"alternatives": []
},
"app-plus": {
"supported": true,
"issues": [],
"alternatives": []
}
},
"performance": {
"complexity": "high",
"bundle_size": 2789,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:34.584Z",
"updated_at": "2025-07-31T07:55:34.584Z"
}