UNPKG

galaxy-uniapp-mcp-server

Version:

Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成

120 lines 8.83 kB
{ "id": "Yaya12085_perfect-newt-3", "name": "perfect-newt-3", "category": "buttons", "author": "Yaya12085", "description": "perfect-newt-3 组件 (button, challenge, hover effect, ui, animation, gradient, interactive)", "tags": [ "button", "challenge", "hover effect", "ui", "animation", "gradient", "interactive" ], "original": { "html": "<button class=\"button\">\n <span class=\"icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" id=\"paper-plane\">\n <path d=\"M20.34,9.32l-14-7a3,3,0,0,0-4.08,3.9l2.4,5.37h0a1.06,1.06,0,0,1,0,.82l-2.4,5.37A3,3,0,0,0,5,22a3.14,3.14,0,0,0,1.35-.32l14-7a3,3,0,0,0,0-5.36Zm-.89,3.57-14,7a1,1,0,0,1-1.35-1.3l2.39-5.37A2,2,0,0,0,6.57,13h6.89a1,1,0,0,0,0-2H6.57a2,2,0,0,0-.08-.22L4.1,5.41a1,1,0,0,1,1.35-1.3l14,7a1,1,0,0,1,0,1.78Z\"></path>\n </svg>\n </span>\n <span class=\"title\">Send Message</span>\n</button>", "css": "/* From Uiverse.io by Yaya12085 - Tags: button, challenge, hover effect, ui */\n.button {\n --radius: 20px;\n --white: #ffffff;\n --white50: #ffffff80;\n --white35: #ffffff59;\n --second_white: #f8f8f8;\n --second_white75: #f8f8f8bf;\n --third_white: #fafbfb;\n --gray: #cacaca;\n --gray50: #cacaca80;\n --black: #1c1c1c;\n --black15: #1c1c1c26;\n --black13: #1c1c1c21;\n --black10: #1c1c1c1a;\n --black5: #1c1c1c0d;\n --black35: #1c1c1c59;\n --black75: #1c1c1cbf;\n --black50: #1c1c1c80;\n position: relative;\n width: 250px;\n height: 80px;\n border-radius: var(--radius);\n background-color: var(--white);\n background: linear-gradient(var(--white) 100%, var(--gray) 50%);\n cursor: pointer;\n outline: none;\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.3s;\n}\n.icon {\n position: relative;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n transform: rotate(-45deg);\n transition: all 0.3s;\n}\n.icon #paper-plane {\n height: 24px;\n width: 24px;\n fill: var(--black);\n filter: drop-shadow(0 1px 1px var(--black35));\n}\n\n.title {\n filter: drop-shadow(0 1px 1px var(--black35));\n font-size: 20px;\n color: var(--black);\n font-weight: 600;\n transition: all 0.3s;\n}\n\n.button::after,\n.button::before {\n position: absolute;\n content: \"\";\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transition: all 0.3s;\n}\n.button::before {\n background-color: var(--white);\n box-shadow: inset 10px 10px 15px var(--gray50),\n inset -10px -10px 15px var(--white), 0 0 0 2px var(--white);\n width: 90%;\n height: 80%;\n border-radius: calc(var(--radius) * 10);\n}\n.button::after {\n filter: drop-shadow(0 2px 4px var(--black15)),\n drop-shadow(0 30px 100px var(--black13)),\n drop-shadow(0 15px 30px var(--black10)),\n drop-shadow(0 16px 12px var(--black5));\n box-shadow: 0 0 0 1px var(--white);\n background-color: var(--black);\n background: linear-gradient(0deg, var(--black50), var(--gray));\n width: 102%;\n height: 108%;\n border-radius: calc(var(--radius) + 2px);\n z-index: -1;\n transition: all 0.1s;\n}\n\n.button:hover::after {\n width: 101%;\n height: 104%;\n filter: none;\n}\n.button:active::after {\n width: 100%;\n height: 100%;\n filter: none;\n}\n.button:hover .icon {\n transform: rotate(0) translateX(50%);\n left: calc(50% + 24px);\n}\n.button:hover .title {\n transform: translateX(-24px);\n}", "file_path": "/mnt/persist/workspace/Buttons/Yaya12085_perfect-newt-3.html" }, "uniapp": { "template": "<button class=\"button\"></button>\n <text class=\"icon\"></text>\n <view xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" id=\"paper-plane\"></view>\n <path d=\"M20.34,9.32l-14-7a3,3,0,0,0-4.08,3.9l2.4,5.37h0a1.06,1.06,0,0,1,0,.82l-2.4,5.37A3,3,0,0,0,5,22a3.14,3.14,0,0,0,1.35-.32l14-7a3,3,0,0,0,0-5.36Zm-.89,3.57-14,7a1,1,0,0,1-1.35-1.3l2.39-5.37A2,2,0,0,0,6.57,13h6.89a1,1,0,0,0,0-2H6.57a2,2,0,0,0-.08-.22L4.1,5.41a1,1,0,0,1,1.35-1.3l14,7a1,1,0,0,1,0,1.78Z\"></path>\n </svg>\n </span>\n <text class=\"title\">Send Message</text>\n</button>", "script": "export default {\n name: 'GalaxyPerfectNewt3',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}", "style": "\n/* From Uiverse.io by Yaya12085 - Tags: button, challenge, hover effect, ui */\n.button {\n --radius: 40rpx;\n --white: #ffffff;\n --white50: #ffffff80;\n --white35: #ffffff59;\n --second_white: #f8f8f8;\n --second_white75: #f8f8f8bf;\n --third_white: #fafbfb;\n --gray: #cacaca;\n --gray50: #cacaca80;\n --black: #1c1c1c;\n --black15: #1c1c1c26;\n --black13: #1c1c1c21;\n --black10: #1c1c1c1a;\n --black5: #1c1c1c0d;\n --black35: #1c1c1c59;\n --black75: #1c1c1cbf;\n --black50: #1c1c1c80;\n position: relative;\n width: 500rpx;\n height: 160rpx;\n border-radius: var(--radius);\n background-color: var(--white);\n background: linear-gradient(var(--white) 100%, var(--gray) 50%);\n /* #ifdef H5 */\n cursor: pointer;\n /* #endif */\n outline: none;\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12rpx;\n transition: all 0.3s;\n}\n.icon {\n position: relative;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n transform: rotate(-45deg);\n transition: all 0.3s;\n}\n.icon #paper-plane {\n height: 48rpx;\n width: 48rpx;\n fill: var(--black);\n \n}\n\n.title {\n \n font-size: 40rpx;\n color: var(--black);\n font-weight: 600;\n transition: all 0.3s;\n}\n\n.button::after,\n.button::before {\n position: absolute;\n content: \"\";\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n transition: all 0.3s;\n}\n.button::before {\n background-color: var(--white);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: inset 20rpx 20rpx 30rpx var(--gray50),\n inset -20rpx -20rpx 30rpx var(--white), 0 0 0 4rpx var(--white);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n width: 90%;\n height: 80%;\n border-radius: calc(var(--radius) * 10);\n}\n.button::after {\n \n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 2rpx var(--white);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n background-color: var(--black);\n background: linear-gradient(0deg, var(--black50), var(--gray));\n width: 102%;\n height: 108%;\n border-radius: calc(var(--radius) + 4rpx);\n z-index: -1;\n transition: all 0.1s;\n}\n\n.button:hover::after {\n width: 101%;\n height: 104%;\n \n}\n.button:active::after {\n width: 100%;\n height: 100%;\n \n}\n.button:hover .icon {\n transform: rotate(0) translateX(50%);\n left: calc(50% + 48rpx);\n}\n.button:hover .title {\n transform: translateX(-48rpx);\n}\n\n", "component_name": "GalaxyPerfectNewt3" }, "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 属性", "不支持 filter 属性", "不支持 cursor 属性" ], "alternatives": [] }, "mp-alipay": { "supported": true, "issues": [ "不支持 box-shadow 属性", "不支持 filter 属性", "不支持 cursor 属性" ], "alternatives": [] }, "app-plus": { "supported": true, "issues": [], "alternatives": [] } }, "performance": { "complexity": "high", "bundle_size": 2947, "render_cost": "high", "memory_usage": "high" }, "dependencies": [], "examples": [ { "title": "", "description": "", "code": "" } ], "created_at": "2025-07-31T07:55:35.225Z", "updated_at": "2025-07-31T07:55:35.225Z" }