galaxy-uniapp-mcp-server
Version:
Galaxy组件库到UniApp组件转换MCP服务器 - 支持跨平台组件转换、兼容性分析和项目集成
90 lines • 18.2 kB
JSON
{
"id": "Nawsome_kind-mole-87",
"name": "kind-mole-87",
"category": "loaders",
"author": "Nawsome",
"description": "kind-mole-87 组件 (loader, animation, gradient)",
"tags": [
"loader",
"animation",
"gradient"
],
"original": {
"html": "<div class=\"typewriter\">\n <div class=\"slide\"><i></i></div>\n <div class=\"paper\"></div>\n <div class=\"keyboard\"></div>\n</div>",
"css": "/* From Uiverse.io by Nawsome - Tags: loader */\n.typewriter {\n --blue: #5C86FF;\n --blue-dark: #275EFE;\n --key: #fff;\n --paper: #EEF0FD;\n --text: #D3D4EC;\n --tool: #FBC56C;\n --duration: 3s;\n position: relative;\n -webkit-animation: bounce05 var(--duration) linear infinite;\n animation: bounce05 var(--duration) linear infinite;\n}\n\n.typewriter .slide {\n width: 92px;\n height: 20px;\n border-radius: 3px;\n margin-left: 14px;\n transform: translateX(14px);\n background: linear-gradient(var(--blue), var(--blue-dark));\n -webkit-animation: slide05 var(--duration) ease infinite;\n animation: slide05 var(--duration) ease infinite;\n}\n\n.typewriter .slide:before, .typewriter .slide:after,\n.typewriter .slide i:before {\n content: \"\";\n position: absolute;\n background: var(--tool);\n}\n\n.typewriter .slide:before {\n width: 2px;\n height: 8px;\n top: 6px;\n left: 100%;\n}\n\n.typewriter .slide:after {\n left: 94px;\n top: 3px;\n height: 14px;\n width: 6px;\n border-radius: 3px;\n}\n\n.typewriter .slide i {\n display: block;\n position: absolute;\n right: 100%;\n width: 6px;\n height: 4px;\n top: 4px;\n background: var(--tool);\n}\n\n.typewriter .slide i:before {\n right: 100%;\n top: -2px;\n width: 4px;\n border-radius: 2px;\n height: 14px;\n}\n\n.typewriter .paper {\n position: absolute;\n left: 24px;\n top: -26px;\n width: 40px;\n height: 46px;\n border-radius: 5px;\n background: var(--paper);\n transform: translateY(46px);\n -webkit-animation: paper05 var(--duration) linear infinite;\n animation: paper05 var(--duration) linear infinite;\n}\n\n.typewriter .paper:before {\n content: \"\";\n position: absolute;\n left: 6px;\n right: 6px;\n top: 7px;\n border-radius: 2px;\n height: 4px;\n transform: scaleY(0.8);\n background: var(--text);\n box-shadow: 0 12px 0 var(--text), 0 24px 0 var(--text), 0 36px 0 var(--text);\n}\n\n.typewriter .keyboard {\n width: 120px;\n height: 56px;\n margin-top: -10px;\n z-index: 1;\n position: relative;\n}\n\n.typewriter .keyboard:before, .typewriter .keyboard:after {\n content: \"\";\n position: absolute;\n}\n\n.typewriter .keyboard:before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 7px;\n background: linear-gradient(135deg, var(--blue), var(--blue-dark));\n transform: perspective(10px) rotateX(2deg);\n transform-origin: 50% 100%;\n}\n\n.typewriter .keyboard:after {\n left: 2px;\n top: 25px;\n width: 11px;\n height: 4px;\n border-radius: 2px;\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n -webkit-animation: keyboard05 var(--duration) linear infinite;\n animation: keyboard05 var(--duration) linear infinite;\n}\n\n@keyframes bounce05 {\n 85%, 92%, 100% {\n transform: translateY(0);\n }\n\n 89% {\n transform: translateY(-4px);\n }\n\n 95% {\n transform: translateY(2px);\n }\n}\n\n@keyframes slide05 {\n 5% {\n transform: translateX(14px);\n }\n\n 15%, 30% {\n transform: translateX(6px);\n }\n\n 40%, 55% {\n transform: translateX(0);\n }\n\n 65%, 70% {\n transform: translateX(-4px);\n }\n\n 80%, 89% {\n transform: translateX(-12px);\n }\n\n 100% {\n transform: translateX(14px);\n }\n}\n\n@keyframes paper05 {\n 5% {\n transform: translateY(46px);\n }\n\n 20%, 30% {\n transform: translateY(34px);\n }\n\n 40%, 55% {\n transform: translateY(22px);\n }\n\n 65%, 70% {\n transform: translateY(10px);\n }\n\n 80%, 85% {\n transform: translateY(0);\n }\n\n 92%, 100% {\n transform: translateY(46px);\n }\n}\n\n@keyframes keyboard05 {\n 5%, 12%, 21%, 30%, 39%, 48%, 57%, 66%, 75%, 84% {\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n }\n\n 9% {\n box-shadow: 15px 2px 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n }\n\n 18% {\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 2px 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n }\n\n 27% {\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 12px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n }\n\n 36% {\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 12px 0 var(--key), 60px 12px 0 var(--key), 68px 12px 0 var(--key), 83px 10px 0 var(--key);\n }\n\n 45% {\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 2px 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n }\n\n 54% {\n box-shadow: 15px 0 0 var(--key), 30px 2px 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n }\n\n 63% {\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 12px 0 var(--key);\n }\n\n 72% {\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 2px 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 10px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n }\n\n 81% {\n box-shadow: 15px 0 0 var(--key), 30px 0 0 var(--key), 45px 0 0 var(--key), 60px 0 0 var(--key), 75px 0 0 var(--key), 90px 0 0 var(--key), 22px 10px 0 var(--key), 37px 12px 0 var(--key), 52px 10px 0 var(--key), 60px 10px 0 var(--key), 68px 10px 0 var(--key), 83px 10px 0 var(--key);\n }\n}",
"file_path": "/mnt/persist/workspace/loaders/Nawsome_kind-mole-87.html"
},
"uniapp": {
"template": "<view class=\"typewriter\"></view>\n <view class=\"slide\"><i></i></view>\n <view class=\"paper\"></view>\n <view class=\"keyboard\"></view>\n</div>",
"script": "export default {\n name: 'GalaxyKindMole87',\n props: {\n // 根据组件类型动态生成props\n },\n data() {\n return {\n // 组件状态\n };\n },\n methods: {\n // 组件方法\n }\n}",
"style": "\n/* From Uiverse.io by Nawsome - Tags: loader */\n.typewriter {\n --blue: #5C86FF;\n --blue-dark: #275EFE;\n --key: #fff;\n --paper: #EEF0FD;\n --text: #D3D4EC;\n --tool: #FBC56C;\n --duration: 3s;\n position: relative;\n -webkit-animation: bounce05 var(--duration) linear infinite;\n animation: bounce05 var(--duration) linear infinite;\n}\n\n.typewriter .slide {\n width: 184rpx;\n height: 40rpx;\n border-radius: 6rpx;\n margin-left: 28rpx;\n transform: translateX(28rpx);\n background: linear-gradient(var(--blue), var(--blue-dark));\n -webkit-animation: slide05 var(--duration) ease infinite;\n animation: slide05 var(--duration) ease infinite;\n}\n\n.typewriter .slide:before, .typewriter .slide:after,\n.typewriter .slide i:before {\n content: \"\";\n position: absolute;\n background: var(--tool);\n}\n\n.typewriter .slide:before {\n width: 4rpx;\n height: 16rpx;\n top: 12rpx;\n left: 100%;\n}\n\n.typewriter .slide:after {\n left: 188rpx;\n top: 6rpx;\n height: 28rpx;\n width: 12rpx;\n border-radius: 6rpx;\n}\n\n.typewriter .slide i {\n display: block;\n position: absolute;\n right: 100%;\n width: 12rpx;\n height: 8rpx;\n top: 8rpx;\n background: var(--tool);\n}\n\n.typewriter .slide i:before {\n right: 100%;\n top: -4rpx;\n width: 8rpx;\n border-radius: 4rpx;\n height: 28rpx;\n}\n\n.typewriter .paper {\n position: absolute;\n left: 48rpx;\n top: -52rpx;\n width: 80rpx;\n height: 92rpx;\n border-radius: 10rpx;\n background: var(--paper);\n transform: translateY(92rpx);\n -webkit-animation: paper05 var(--duration) linear infinite;\n animation: paper05 var(--duration) linear infinite;\n}\n\n.typewriter .paper:before {\n content: \"\";\n position: absolute;\n left: 12rpx;\n right: 12rpx;\n top: 14rpx;\n border-radius: 4rpx;\n height: 8rpx;\n transform: scaleY(0.8);\n background: var(--text);\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 0 24rpx 0 var(--text), 0 48rpx 0 var(--text), 0 72rpx 0 var(--text);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n}\n\n.typewriter .keyboard {\n width: 240rpx;\n height: 112rpx;\n margin-top: -20rpx;\n z-index: 1;\n position: relative;\n}\n\n.typewriter .keyboard:before, .typewriter .keyboard:after {\n content: \"\";\n position: absolute;\n}\n\n.typewriter .keyboard:before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 14rpx;\n background: linear-gradient(135deg, var(--blue), var(--blue-dark));\n transform: perspective(20rpx) rotateX(2deg);\n transform-origin: 50% 100%;\n}\n\n.typewriter .keyboard:after {\n left: 4rpx;\n top: 50rpx;\n width: 22rpx;\n height: 8rpx;\n border-radius: 4rpx;\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n -webkit-animation: keyboard05 var(--duration) linear infinite;\n animation: keyboard05 var(--duration) linear infinite;\n}\n\n@keyframes bounce05 {\n 85%, 92%, 100% {\n transform: translateY(0);\n }\n\n 89% {\n transform: translateY(-8rpx);\n }\n\n 95% {\n transform: translateY(4rpx);\n }\n}\n\n@keyframes slide05 {\n 5% {\n transform: translateX(28rpx);\n }\n\n 15%, 30% {\n transform: translateX(12rpx);\n }\n\n 40%, 55% {\n transform: translateX(0);\n }\n\n 65%, 70% {\n transform: translateX(-8rpx);\n }\n\n 80%, 89% {\n transform: translateX(-24rpx);\n }\n\n 100% {\n transform: translateX(28rpx);\n }\n}\n\n@keyframes paper05 {\n 5% {\n transform: translateY(92rpx);\n }\n\n 20%, 30% {\n transform: translateY(68rpx);\n }\n\n 40%, 55% {\n transform: translateY(44rpx);\n }\n\n 65%, 70% {\n transform: translateY(20rpx);\n }\n\n 80%, 85% {\n transform: translateY(0);\n }\n\n 92%, 100% {\n transform: translateY(92rpx);\n }\n}\n\n@keyframes keyboard05 {\n 5%, 12%, 21%, 30%, 39%, 48%, 57%, 66%, 75%, 84% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 9% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 4rpx 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 18% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 4rpx 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 27% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 24rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 36% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 24rpx 0 var(--key), 120rpx 24rpx 0 var(--key), 136rpx 24rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 45% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 4rpx 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 54% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 4rpx 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 63% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 24rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 72% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 4rpx 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 20rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n\n 81% {\n /* #ifdef H5 */\n /* #ifdef H5 */\n box-shadow: 30rpx 0 0 var(--key), 60rpx 0 0 var(--key), 90rpx 0 0 var(--key), 120rpx 0 0 var(--key), 150rpx 0 0 var(--key), 180rpx 0 0 var(--key), 44rpx 20rpx 0 var(--key), 74rpx 24rpx 0 var(--key), 104rpx 20rpx 0 var(--key), 120rpx 20rpx 0 var(--key), 136rpx 20rpx 0 var(--key), 166rpx 20rpx 0 var(--key);\n /* #endif */\n /* #ifdef MP */\n border: 1rpx solid rgba(0,0,0,0.1);\n /* #endif */\n /* #endif */\n }\n}\n",
"component_name": "GalaxyKindMole87"
},
"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": "是否禁用"
}
],
"events": [],
"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": 6816,
"render_cost": "high",
"memory_usage": "high"
},
"dependencies": [],
"examples": [
{
"title": "",
"description": "",
"code": ""
}
],
"created_at": "2025-07-31T07:55:39.803Z",
"updated_at": "2025-07-31T07:55:39.803Z"
}