galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
113 lines • 10.9 kB
JSON
{
"id": "barisdogansutcu_yellow-husky-22",
"name": "yellow-husky-22",
"category": "buttons",
"author": "barisdogansutcu",
"description": "yellow-husky-22 组件 (button, animation)",
"tags": [
"button",
"animation"
],
"original": {
"html": "<div class=\"plane-button\">\n <input type=\"checkbox\" name=\"checkbox\" id=\"checkbox\">\n <button>\n <div class=\"plane\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n <path style=\"fill: #091607;stroke-width: 1px;stroke: hsl(0deg 0% 100%);\" d=\"M21 14.58c0-.36-.19-.69-.49-.89L13 9V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-7.51 4.69c-.3.19-.49.53-.49.89 0 .7.68 1.21 1.36 1L10 13.5V19l-1.8 1.35c-.13.09-.2.24-.2.4v.59c0 .33.32.57.64.48L11.5 21l2.86.82c.32.09.64-.15.64-.48v-.59c0-.16-.07-.31-.2-.4L13 19v-5.5l6.64 2.08c.68.21 1.36-.3 1.36-1z\"></path>\n </svg>\n </div>\n <span class=\"loading\"> <i></i> <i></i> <i></i></span>\n <span class=\"title\">Buy a ticket</span>\n <span class=\"approved\">Approved</span>\n </button>\n</div>",
"css": "/* From Uiverse.io by barisdogansutcu - Tags: button */\nbutton {\n width: 180px;\n height: 55px;\n border-radius: 50px;\n border: solid 4px rgba(255, 255, 255, 0);\n background-clip: padding-box;\n box-shadow: 0 4px 20px -2px rgba(39, 94, 254, 0.5);\n background-color: hsl(241deg 44% 49%);\n font-size: 20px;\n letter-spacing: 1px;\n font-weight: 100;\n position: relative;\n cursor: pointer;\n color: white;\n}\n\n.loading {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%,-50%);\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 7px;\n z-index: 0;\n}\n\n.loading i {\n width: 5px;\n height: 5px;\n background-color: white;\n display: inline-flex;\n border-radius: 100%;\n animation-name: loading5234;\n animation-iteration-count: infinite;\n animation-duration: 1s;\n}\n\n@keyframes loading5234 {\n 100% {\n opacity: 0;\n }\n}\n\ninput:checked + button {\n transition-delay: 4s;\n background-color: #31cb20;\n box-shadow: 0 4px 20px -2px rgb(49 203 32);\n}\n\n.title, .approved {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n width: 100%;\n display: block;\n font-size: 15px;\n}\n\nbutton .title {\n background-color: hsl(241deg 44% 49%);\n width: 90%;\n}\n\ninput:checked + button .approved {\n transition-delay: 4s;\n visibility: visible;\n opacity: 1;\n background-color: #31cb20;\n width: 90%;\n}\n\ninput:checked + button .title {\n visibility: hidden;\n opacity: 0;\n transition: all .5s ease;\n}\n\ninput:not(:checked) + button .approved {\n visibility: hidden;\n opacity: 1;\n}\n\ninput {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n z-index: 999;\n outline: none;\n width: 210px;\n height: 60px;\n border-radius: 50px;\n margin: 0;\n opacity: 0;\n cursor: pointer;\n}\n\n.plane {\n width: 55px;\n height: 55px;\n border-radius: 100%;\n position: absolute;\n left: 0;\n z-index: 9;\n top: 0;\n transition: none;\n background-color: transparent;\n opacity: 0;\n}\n\n.plane svg {\n width: 45px;\n height: 45px;\n position: absolute;\n left: 0px;\n top: 0px;\n transform: rotate(90deg) translate(-50%,-40%) scale(1);\n transition: all 0s ease;\n fill: #3c4a57;\n}\n\ninput:checked + button .plane {\n animation: airplane-route 4s forwards;\n animation-timing-function: cubic-bezier(0, 0, 0, 0);\n}\n\n@keyframes airplane-route {\n 0% {\n left: -300px;\n opacity: 1;\n transform: scale(2);\n }\n\n 20% {\n left: 0px;\n transform: scale(1);\n opacity: 1;\n }\n\n 40% {\n left: 100%;\n opacity: 1;\n transform: translateX(-100%);\n }\n\n 60% {\n left: 100%;\n opacity: 1;\n transform: translateX(-100%) translateY(-6%) rotate(180deg);\n }\n\n 80% {\n left: 0%;\n opacity: 1;\n top: -6px;\n transform: translateX(0%) rotate(180deg);\n }\n\n 100% {\n left: 0%;\n opacity: 1;\n transform: translateX(0%) rotate(360deg);\n }\n}",
"file_path": "/mnt/persist/workspace/Buttons/barisdogansutcu_yellow-husky-22.html"
},
"uniapp": {
"template": "<view class=\"plane-button\"></view>\n <input type=\"checkbox\" name=\"checkbox\" id=\"checkbox\"></input>\n <button></button>\n <view class=\"plane\"></view>\n <view xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"></view>\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n <path style=\"fill: #091607;stroke-width: 1px;stroke: hsl(0deg 0% 100%);\" d=\"M21 14.58c0-.36-.19-.69-.49-.89L13 9V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-7.51 4.69c-.3.19-.49.53-.49.89 0 .7.68 1.21 1.36 1L10 13.5V19l-1.8 1.35c-.13.09-.2.24-.2.4v.59c0 .33.32.57.64.48L11.5 21l2.86.82c.32.09.64-.15.64-.48v-.59c0-.16-.07-.31-.2-.4L13 19v-5.5l6.64 2.08c.68.21 1.36-.3 1.36-1z\"></path>\n </svg>\n </div>\n <text class=\"loading\"> <i></i> <i></i> <i></i></text>\n <text class=\"title\">Buy a ticket</text>\n <text class=\"approved\">Approved</text>\n </button>\n</div>",
"script": "export default {\n name: 'GalaxyYellowHusky22',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by barisdogansutcu - Tags: button */\nbutton {\n width: 360rpx;\n height: 110rpx;\n border-radius: 100rpx;\n border: solid 8rpx rgba(255, 255, 255, 0);\n background-clip: padding-box;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 8rpx 40rpx -4rpx rgba(39, 94, 254, 0.5);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n background-color: hsl(241deg 44% 49%);\n font-size: 40rpx;\n letter-spacing: 2rpx;\n font-weight: 100;\n position: relative;\n /* #ifdef H5 */\n cursor: pointer;\n /* #endif */\n color: white;\n}\n\n.loading {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%,-50%);\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 14rpx;\n z-index: 0;\n}\n\n.loading i {\n width: 10rpx;\n height: 10rpx;\n background-color: white;\n display: inline-flex;\n border-radius: 100%;\n animation-name: loading5234;\n animation-iteration-count: infinite;\n animation-duration: 1s;\n}\n\n@keyframes loading5234 {\n 100% {\n opacity: 0;\n }\n}\n\ninput:checked + button {\n transition-delay: 4s;\n background-color: #31cb20;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 8rpx 40rpx -4rpx rgb(49 203 32);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.title, .approved {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n width: 100%;\n display: block;\n font-size: 30rpx;\n}\n\nbutton .title {\n background-color: hsl(241deg 44% 49%);\n width: 90%;\n}\n\ninput:checked + button .approved {\n transition-delay: 4s;\n visibility: visible;\n opacity: 1;\n background-color: #31cb20;\n width: 90%;\n}\n\ninput:checked + button .title {\n visibility: hidden;\n opacity: 0;\n transition: all .5s ease;\n}\n\ninput:not(:checked) + button .approved {\n visibility: hidden;\n opacity: 1;\n}\n\ninput {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%,-50%);\n z-index: 999;\n outline: none;\n width: 420rpx;\n height: 120rpx;\n border-radius: 100rpx;\n margin: 0;\n opacity: 0;\n /* #ifdef H5 */\n cursor: pointer;\n /* #endif */\n}\n\n.plane {\n width: 110rpx;\n height: 110rpx;\n border-radius: 100%;\n position: absolute;\n left: 0;\n z-index: 9;\n top: 0;\n transition: none;\n background-color: transparent;\n opacity: 0;\n}\n\n.plane svg {\n width: 90rpx;\n height: 90rpx;\n position: absolute;\n left: 0rpx;\n top: 0rpx;\n transform: rotate(90deg) translate(-50%,-40%) scale(1);\n transition: all 0s ease;\n fill: #3c4a57;\n}\n\ninput:checked + button .plane {\n animation: airplane-route 4s forwards;\n animation-timing-function: cubic-bezier(0, 0, 0, 0);\n}\n\n@keyframes airplane-route {\n 0% {\n left: -600rpx;\n opacity: 1;\n transform: scale(2);\n }\n\n 20% {\n left: 0rpx;\n transform: scale(1);\n opacity: 1;\n }\n\n 40% {\n left: 100%;\n opacity: 1;\n transform: translateX(-100%);\n }\n\n 60% {\n left: 100%;\n opacity: 1;\n transform: translateX(-100%) translateY(-6%) rotate(180deg);\n }\n\n 80% {\n left: 0%;\n opacity: 1;\n top: -12rpx;\n transform: translateX(0%) rotate(180deg);\n }\n\n 100% {\n left: 0%;\n opacity: 1;\n transform: translateX(0%) rotate(360deg);\n }\n}\n\n",
"component_name": "GalaxyYellowHusky22"
},
"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": [
"不支持 box-shadow 属性",
"不支持 cursor 属性"
],
"alternatives": []
},
"mp-alipay": {
"supported": true,
"issues": [
"不支持 box-shadow 属性",
"不支持 cursor 属性"
],
"alternatives": []
},
"app-plus": {
"supported": true,
"issues": [],
"alternatives": []
}
},
"performance": {
"complexity": "high",
"bundle_size": 3780,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:35.947Z",
"updated_at": "2025-07-31T07:55:35.947Z"
}