UNPKG

galaxy-uniapp-mcp-server

Version:

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

112 lines 12.6 kB
{ "id": "KitoC_curly-cheetah-59", "name": "curly-cheetah-59", "category": "buttons", "author": "KitoC", "description": "curly-cheetah-59 组件 (button, animation, interactive)", "tags": [ "button", "animation", "interactive" ], "original": { "html": "<button>\n <div class=\"blackhole\">\n <span class=\"rocket-path\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"rocket\"> <g> <path d=\"M0 0h24v24H0z\" fill=\"none\"></path> <path d=\"M8.498 20h7.004A6.523 6.523 0 0 1 12 23.502 6.523 6.523 0 0 1 8.498 20zM18 14.805l2 2.268V19H4v-1.927l2-2.268V9c0-3.483 2.504-6.447 6-7.545C15.496 2.553 18 5.517 18 9v5.805zM12 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"></path> </g> </svg>\n </span>\n <span class=\"ring\">\n <span class=\"block\"></span>\n </span>\n </div>\n <span class=\"text\">Don't get lost</span>\n</button>", "css": "/* From Uiverse.io by KitoC - Tags: button */\nbutton {\n --black-hole-color-2: rgb(242, 122, 42);\n --black-hole-color: rgb(230, 148, 93);\n font-size: 17px;\n position: relative;\n background: #212121;\n padding: 0.5em;\n border: 2px solid var(--black-hole-color);\n border-radius: 8px;\n}\n\nbutton:hover {\n border: 2px solid var(--black-hole-color-2);\n animation: alert 1s alternate infinite linear;\n}\n\n.blackhole {\n padding: 3em;\n background-color: black;\n color: var(--black-hole-color);\n position: absolute;\n animation: wiggle 3s alternate-reverse infinite linear;\n top: -1em;\n left: -8em;\n}\n\n.blackhole, .blackhole::after, .blackhole::before, .blackhole .ring, .blackhole .ring::after {\n content: \"\";\n border: 2px solid var(--black-hole-color);\n border-radius: 50%;\n box-shadow: 0 0 3em,\n 0 0 1em;\n}\n\n.blackhole::after, .blackhole::before {\n animation: writhe 3s alternate-reverse infinite linear;\n}\n\n.blackhole::before {\n position: absolute;\n width: calc(100% + 0.5em);\n height: calc(100% + 0.5em);\n top: -9px;\n left: -7px;\n}\n\n.blackhole::after {\n position: absolute;\n width: calc(100% + 8px);\n height: calc(100% + 8px);\n top: -6px;\n left: -5px;\n}\n\n.blackhole .ring, .blackhole .ring::after {\n content: \"\";\n position: absolute;\n left: -50%;\n width: 200%;\n border-top: none;\n height: 2em;\n border-width: 5px;\n box-shadow: 0px 5px 10px var(--black-hole-color);\n}\n\n.blackhole .ring, .blackhole .ring::after {\n animation: ring-writhe 3s alternate-reverse infinite linear;\n}\n\n.blackhole .block {\n position: absolute;\n z-index: 90;\n content: \"\";\n background-color: black;\n top: -20%;\n left: 25%;\n width: 50%;\n height: 10px;\n}\n\n.blackhole .ring::after {\n width: 110%;\n left: -8%;\n}\n\n.blackhole .rocket {\n fill: white;\n height: 30px;\n transform: rotate(-140deg);\n animation: idle 1s alternate-reverse infinite linear;\n}\n\n.blackhole .rocket-path {\n position: absolute;\n top: -60px;\n right: -60px;\n}\n\nbutton:hover .rocket-path, button:focus .rocket-path {\n z-index: 100;\n animation: engine-start 0.2s alternate-reverse infinite linear;\n}\n\nbutton:focus .rocket-path {\n animation: descend 1.2s linear forwards, \n descend-dissapear 0.1s linear forwards;\n animation-delay: 0s, 1s;\n}\n\nbutton .text {\n display: flex;\n color: white;\n}\n\n@keyframes idle {\n from {\n transform: rotate(-130deg);\n }\n\n to {\n transform: rotate(-140deg);\n }\n}\n\n@keyframes alert {\n from {\n box-shadow: 0 0 0 var(--black-hole-color);\n }\n\n to {\n box-shadow: 0 0 8px var(--black-hole-color);\n }\n}\n\n@keyframes engine-start {\n from {\n transform: scale(1);\n }\n\n to {\n transform: scale(1.05);\n }\n}\n\n@keyframes descend {\n from {\n top: -60px;\n right: -60px;\n transform: scale(1);\n }\n\n to {\n top: -10px;\n right: -10px;\n transform: scale(0.8);\n }\n}\n\n@keyframes descend-dissapear {\n from {\n top: -10px;\n right: -10px;\n transform: scale(1);\n }\n\n to {\n top: 20px;\n right: 20px;\n transform: scale(0);\n }\n}\n\n@keyframes writhe {\n from {\n box-shadow: -4px -3px 35px var(--black-hole-color-2),\n -4px -3px 5px;\n transform: translateX(-1px) scale(1);\n }\n\n to {\n box-shadow: 4px 3px 35px,\n 4px 3px 5px var(--black-hole-color-2);\n transform: translateX(1px) scale(0.95);\n }\n}\n\n@keyframes wiggle {\n from {\n transform: translateX(-3px);\n }\n\n to {\n transform: translateX(3px);\n }\n}\n\n@keyframes ring-writhe {\n from {\n transform: translateX(-2px) scale(1);\n box-shadow: -2px 5px 10px var(--black-hole-color);\n }\n\n to {\n box-shadow: 2px 5px 10px var(--black-hole-color-2);\n transform: translateX(2px) scale(0.95);\n }\n}", "file_path": "/mnt/persist/workspace/Buttons/KitoC_curly-cheetah-59.html" }, "uniapp": { "template": "<button></button>\n <view class=\"blackhole\"></view>\n <text class=\"rocket-path\"></text>\n <view viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"rocket\"> <g> <path d=\"M0 0h24v24H0z\" fill=\"none\"></path> <path d=\"M8.498 20h7.004A6.523 6.523 0 0 1 12 23.502 6.523 6.523 0 0 1 8.498 20zM18 14.805l2 2.268V19H4v-1.927l2-2.268V9c0-3.483 2.504-6.447 6-7.545C15.496 2.553 18 5.517 18 9v5.805zM12 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"></path> </g> </view>\n </span>\n <text class=\"ring\"></text>\n <text class=\"block\"></text>\n </span>\n </div>\n <text class=\"text\">Don't get lost</text>\n</button>", "script": "export default {\n name: 'GalaxyCurlyCheetah59',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}", "style": "\n/* From Uiverse.io by KitoC - Tags: button */\nbutton {\n --black-hole-color-2: rgb(242, 122, 42);\n --black-hole-color: rgb(230, 148, 93);\n font-size: 34rpx;\n position: relative;\n background: #212121;\n padding: 0.5em;\n border: 4rpx solid var(--black-hole-color);\n border-radius: 16rpx;\n}\n\nbutton:hover {\n border: 4rpx solid var(--black-hole-color-2);\n animation: alert 1s alternate infinite linear;\n}\n\n.blackhole {\n padding: 3em;\n background-color: black;\n color: var(--black-hole-color);\n position: absolute;\n animation: wiggle 3s alternate-reverse infinite linear;\n top: -1em;\n left: -8em;\n}\n\n.blackhole, .blackhole::after, .blackhole::before, .blackhole .ring, .blackhole .ring::after {\n content: \"\";\n border: 4rpx solid var(--black-hole-color);\n border-radius: 50%;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 3em,\n 0 0 1em;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.blackhole::after, .blackhole::before {\n animation: writhe 3s alternate-reverse infinite linear;\n}\n\n.blackhole::before {\n position: absolute;\n width: calc(100% + 0.5em);\n height: calc(100% + 0.5em);\n top: -18rpx;\n left: -14rpx;\n}\n\n.blackhole::after {\n position: absolute;\n width: calc(100% + 16rpx);\n height: calc(100% + 16rpx);\n top: -12rpx;\n left: -10rpx;\n}\n\n.blackhole .ring, .blackhole .ring::after {\n content: \"\";\n position: absolute;\n left: -50%;\n width: 200%;\n border-top: none;\n height: 2em;\n border-width: 10rpx;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0rpx 10rpx 20rpx var(--black-hole-color);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.blackhole .ring, .blackhole .ring::after {\n animation: ring-writhe 3s alternate-reverse infinite linear;\n}\n\n.blackhole .block {\n position: absolute;\n z-index: 90;\n content: \"\";\n background-color: black;\n top: -20%;\n left: 25%;\n width: 50%;\n height: 20rpx;\n}\n\n.blackhole .ring::after {\n width: 110%;\n left: -8%;\n}\n\n.blackhole .rocket {\n fill: white;\n height: 60rpx;\n transform: rotate(-140deg);\n animation: idle 1s alternate-reverse infinite linear;\n}\n\n.blackhole .rocket-path {\n position: absolute;\n top: -120rpx;\n right: -120rpx;\n}\n\nbutton:hover .rocket-path, button:focus .rocket-path {\n z-index: 100;\n animation: engine-start 0.2s alternate-reverse infinite linear;\n}\n\nbutton:focus .rocket-path {\n animation: descend 1.2s linear forwards, \n descend-dissapear 0.1s linear forwards;\n animation-delay: 0s, 1s;\n}\n\nbutton .text {\n display: flex;\n color: white;\n}\n\n@keyframes idle {\n from {\n transform: rotate(-130deg);\n }\n\n to {\n transform: rotate(-140deg);\n }\n}\n\n@keyframes alert {\n from {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 0 var(--black-hole-color);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n to {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 0 16rpx var(--black-hole-color);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n}\n\n@keyframes engine-start {\n from {\n transform: scale(1);\n }\n\n to {\n transform: scale(1.05);\n }\n}\n\n@keyframes descend {\n from {\n top: -120rpx;\n right: -120rpx;\n transform: scale(1);\n }\n\n to {\n top: -20rpx;\n right: -20rpx;\n transform: scale(0.8);\n }\n}\n\n@keyframes descend-dissapear {\n from {\n top: -20rpx;\n right: -20rpx;\n transform: scale(1);\n }\n\n to {\n top: 40rpx;\n right: 40rpx;\n transform: scale(0);\n }\n}\n\n@keyframes writhe {\n from {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: -8rpx -6rpx 70rpx var(--black-hole-color-2),\n -8rpx -6rpx 10rpx;\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n transform: translateX(-2rpx) scale(1);\n }\n\n to {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 8rpx 6rpx 70rpx,\n 8rpx 6rpx 10rpx var(--black-hole-color-2);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n transform: translateX(2rpx) scale(0.95);\n }\n}\n\n@keyframes wiggle {\n from {\n transform: translateX(-6rpx);\n }\n\n to {\n transform: translateX(6rpx);\n }\n}\n\n@keyframes ring-writhe {\n from {\n transform: translateX(-4rpx) scale(1);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: -4rpx 10rpx 20rpx var(--black-hole-color);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n to {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 4rpx 10rpx 20rpx var(--black-hole-color-2);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n transform: translateX(4rpx) scale(0.95);\n }\n}\n\n", "component_name": "GalaxyCurlyCheetah59" }, "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 属性" ], "alternatives": [] }, "mp-alipay": { "supported": true, "issues": [ "不支持 box-shadow 属性" ], "alternatives": [] }, "app-plus": { "supported": true, "issues": [], "alternatives": [] } }, "performance": { "complexity": "high", "bundle_size": 4258, "render_cost": "high", "memory_usage": "high" }, "dependencies": [], "examples": [ { "title": "", "description": "", "code": "" } ], "created_at": "2025-07-31T07:55:33.758Z", "updated_at": "2025-07-31T07:55:33.758Z" }