galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
116 lines • 8.4 kB
JSON
{
"id": "Lucaasbre_quiet-bat-17",
"name": "quiet-bat-17",
"category": "buttons",
"author": "Lucaasbre",
"description": "quiet-bat-17 组件 (button, active, delete, animated, css, animation, interactive)",
"tags": [
"button",
"active",
"delete",
"animated",
"css",
"animation",
"interactive"
],
"original": {
"html": "<button>\n <span class=\"button-text\">\n </span>\n <span class=\"animation\">\n <span class=\"paper-wrapper\">\n <span class=\"paper\">\n </span>\n </span>\n <span class=\"shredded-wrapper\">\n <span class=\"shredded\">\n </span>\n </span>\n <span class=\"lid\">\n </span>\n <span class=\"can\">\n <span class=\"filler\">\n </span>\n </span>\n </span>\n</button>",
"css": "/* From Uiverse.io by Lucaasbre - Source: Frontend Joe - https://frontendjoe.com - Tags: button, active, delete, animated, css */\nbutton {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 10px;\n border: 0;\n background: #ff2c6c;\n font-size: 22px;\n font-weight: 400;\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n color: #f9f9f9;\n padding: 0 0 0 24px;\n width: 210px;\n height: 64px;\n text-align: left;\n cursor: pointer;\n transition: 0.3s;\n}\n\n.button-text {\n flex: 0 0 120px;\n}\n\n.button-text::before {\n content: \"Delete\";\n}\n\n.animation {\n position: relative;\n overflow: hidden;\n display: grid;\n place-items: center;\n width: 64px;\n height: 64px;\n scale: 1;\n}\n\n.can {\n overflow: hidden;\n position: relative;\n translate: 0 3px;\n width: 20px;\n height: 22px;\n border-left-radius: 5px;\n border-right-radius: 5px;\n border: 2px solid #ffffff;\n}\n\n.lid {\n position: absolute;\n top: 20px;\n left: 50%;\n translate: -50% 0;\n width: 22px;\n height: 2px;\n background: #ffffff;\n}\n\n@keyframes move {\n 75%,\n 100% {\n translate: 0 88px;\n }\n}\n\n.paper-wrapper,\n.shredded-wrapper {\n overflow: hidden;\n position: absolute;\n display: flex;\n top: -20px;\n left: 50%;\n margin-left: -5px;\n width: 10px;\n height: 64px;\n}\n\n.paper-wrapper {\n height: 40px;\n}\n\n.shredded-wrapper {\n top: 24px;\n height: 20px;\n justify-content: center;\n}\n\n.paper, .shredded {\n display: block;\n background: #ffffff;\n height: 20px;\n}\n\n.paper {\n width: 10px;\n}\n\n.shredded {\n margin-top: -40px;\n width: 2px;\n}\n\n.shredded::before,\n.shredded::after {\n content: \"\";\n position: absolute;\n z-index: 1;\n top: 0;\n width: inherit;\n height: inherit;\n background: inherit;\n}\n\n.shredded::before {\n left: -4px;\n}\n\n.shredded::after {\n right: -4px;\n}\n\n@keyframes fill {\n 0%, 20% {\n translate: 0 0;\n }\n\n 40%, 70% {\n translate: 0 -50%;\n }\n\n 90%, 100% {\n translate: 0 -100%;\n }\n}\n\n.filler {\n position: absolute;\n top: 100%;\n left: 50%;\n margin-left: -32px;\n width: 64px;\n height: 120%;\n background: #ffffff;\n}\n\nbutton:hover {\n opacity: 0.75;\n}\n\nbutton:active .button-text::before {\n content: \"Deleting...\";\n}\n\nbutton:active :is(.paper, .shredded) {\n animation: move 1.25s linear 2 both;\n}\n\nbutton:active .filler {\n animation: fill 2.5s both;\n}",
"file_path": "/mnt/persist/workspace/Buttons/Lucaasbre_quiet-bat-17.html"
},
"uniapp": {
"template": "<button></button>\n <text class=\"button-text\"></text>\n </span>\n <text class=\"animation\"></text>\n <text class=\"paper-wrapper\"></text>\n <text class=\"paper\"></text>\n </span>\n </span>\n <text class=\"shredded-wrapper\"></text>\n <text class=\"shredded\"></text>\n </span>\n </span>\n <text class=\"lid\"></text>\n </span>\n <text class=\"can\"></text>\n <text class=\"filler\"></text>\n </span>\n </span>\n </span>\n</button>",
"script": "export default {\n name: 'GalaxyQuietBat17',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by Lucaasbre - Source: Frontend Joe - https://frontendjoe.com - Tags: button, active, delete, animated, css */\nbutton {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 20rpx;\n border: 0;\n background: #ff2c6c;\n font-size: 44rpx;\n font-weight: 400;\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n color: #f9f9f9;\n padding: 0 0 0 48rpx;\n width: 420rpx;\n height: 128rpx;\n text-align: left;\n /* #ifdef H5 */\n cursor: pointer;\n /* #endif */\n transition: 0.3s;\n}\n\n.button-text {\n flex: 0 0 240rpx;\n}\n\n.button-text::before {\n content: \"Delete\";\n}\n\n.animation {\n position: relative;\n overflow: hidden;\n display: grid;\n place-items: center;\n width: 128rpx;\n height: 128rpx;\n scale: 1;\n}\n\n.can {\n overflow: hidden;\n position: relative;\n translate: 0 6rpx;\n width: 40rpx;\n height: 44rpx;\n border-left-radius: 10rpx;\n border-right-radius: 10rpx;\n border: 4rpx solid #ffffff;\n}\n\n.lid {\n position: absolute;\n top: 40rpx;\n left: 50%;\n translate: -50% 0;\n width: 44rpx;\n height: 4rpx;\n background: #ffffff;\n}\n\n@keyframes move {\n 75%,\n 100% {\n translate: 0 176rpx;\n }\n}\n\n.paper-wrapper,\n.shredded-wrapper {\n overflow: hidden;\n position: absolute;\n display: flex;\n top: -40rpx;\n left: 50%;\n margin-left: -10rpx;\n width: 20rpx;\n height: 128rpx;\n}\n\n.paper-wrapper {\n height: 80rpx;\n}\n\n.shredded-wrapper {\n top: 48rpx;\n height: 40rpx;\n justify-content: center;\n}\n\n.paper, .shredded {\n display: block;\n background: #ffffff;\n height: 40rpx;\n}\n\n.paper {\n width: 20rpx;\n}\n\n.shredded {\n margin-top: -80rpx;\n width: 4rpx;\n}\n\n.shredded::before,\n.shredded::after {\n content: \"\";\n position: absolute;\n z-index: 1;\n top: 0;\n width: inherit;\n height: inherit;\n background: inherit;\n}\n\n.shredded::before {\n left: -8rpx;\n}\n\n.shredded::after {\n right: -8rpx;\n}\n\n@keyframes fill {\n 0%, 20% {\n translate: 0 0;\n }\n\n 40%, 70% {\n translate: 0 -50%;\n }\n\n 90%, 100% {\n translate: 0 -100%;\n }\n}\n\n.filler {\n position: absolute;\n top: 100%;\n left: 50%;\n margin-left: -64rpx;\n width: 128rpx;\n height: 120%;\n background: #ffffff;\n}\n\nbutton:hover {\n opacity: 0.75;\n}\n\nbutton:active .button-text::before {\n content: \"Deleting...\";\n}\n\nbutton:active :is(.paper, .shredded) {\n animation: move 1.25s linear 2 both;\n}\n\nbutton:active .filler {\n animation: fill 2.5s both;\n}\n",
"component_name": "GalaxyQuietBat17"
},
"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": 2698,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:33.860Z",
"updated_at": "2025-07-31T07:55:33.860Z"
}