{
  "id": "jeremyssocial_ugly-bullfrog-62",
  "name": "ugly-bullfrog-62",
  "category": "loaders",
  "author": "jeremyssocial",
  "description": "ugly-bullfrog-62 组件 (animation, loader, code, text animation, animated, light&dark, loading animation)",
  "tags": [
    "animation",
    "loader",
    "code",
    "text animation",
    "animated",
    "light&dark",
    "loading animation"
  ],
  "original": {
    "html": "<div class=\"terminal-loader\">\n  <div class=\"terminal-header\">\n    <div class=\"terminal-title\">Status</div>\n    <div class=\"terminal-controls\">\n      <div class=\"control close\"></div>\n      <div class=\"control minimize\"></div>\n      <div class=\"control maximize\"></div>\n    </div>\n  </div>\n  <div class=\"text\">Loading...</div>\n</div>",
    "css": "/* From Uiverse.io by jeremyssocial  - Tags: animation, loader, code, text animation, animated, light&dark, loading animation */\n@keyframes blinkCursor {\n  50% {\n    border-right-color: transparent;\n  }\n}\n\n@keyframes typeAndDelete {\n  0%,\n  10% {\n    width: 0;\n  }\n  45%,\n  55% {\n    width: 6.2em;\n  } /* adjust width based on content */\n  90%,\n  100% {\n    width: 0;\n  }\n}\n\n.terminal-loader {\n  border: 0.1em solid #333;\n  background-color: #1a1a1a;\n  color: #0f0;\n  font-family: \"Courier New\", Courier, monospace;\n  font-size: 1em;\n  padding: 1.5em 1em;\n  width: 12em;\n  margin: 100px auto;\n  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n  border-radius: 4px;\n  position: relative;\n  overflow: hidden;\n  box-sizing: border-box;\n}\n\n.terminal-header {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  height: 1.5em;\n  background-color: #333;\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  padding: 0 0.4em;\n  box-sizing: border-box;\n}\n\n.terminal-controls {\n  float: right;\n}\n\n.control {\n  display: inline-block;\n  width: 0.6em;\n  height: 0.6em;\n  margin-left: 0.4em;\n  border-radius: 50%;\n  background-color: #777;\n}\n\n.control.close {\n  background-color: #e33;\n}\n\n.control.minimize {\n  background-color: #ee0;\n}\n\n.control.maximize {\n  background-color: #0b0;\n}\n\n.terminal-title {\n  float: left;\n  line-height: 1.5em;\n  color: #eee;\n}\n\n.text {\n  display: inline-block;\n  white-space: nowrap;\n  overflow: hidden;\n  border-right: 0.2em solid green; /* Cursor */\n  animation: typeAndDelete 4s steps(11) infinite,\n    blinkCursor 0.5s step-end infinite alternate;\n  margin-top: 1.5em;\n}",
    "file_path": "/mnt/persist/workspace/loaders/jeremyssocial_ugly-bullfrog-62.html"
  },
  "uniapp": {
    "template": "<view class=\"terminal-loader\"></view>\n  <view class=\"terminal-header\"></view>\n    <view class=\"terminal-title\">Status</view>\n    <view class=\"terminal-controls\"></view>\n      <view class=\"control close\"></view>\n      <view class=\"control minimize\"></view>\n      <view class=\"control maximize\"></view>\n    </div>\n  </div>\n  <view class=\"text\">Loading...</view>\n</div>",
    "script": "export default {\n  name: 'GalaxyUglyBullfrog62',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by jeremyssocial  - Tags: animation, loader, code, text animation, animated, light&dark, loading animation */\n@keyframes blinkCursor {\n  50% {\n    border-right-color: transparent;\n  }\n}\n\n@keyframes typeAndDelete {\n  0%,\n  10% {\n    width: 0;\n  }\n  45%,\n  55% {\n    width: 6.2em;\n  } /* adjust width based on content */\n  90%,\n  100% {\n    width: 0;\n  }\n}\n\n.terminal-loader {\n  border: 0.1em solid #333;\n  background-color: #1a1a1a;\n  color: #0f0;\n  font-family: \"Courier New\", Courier, monospace;\n  font-size: 1em;\n  padding: 1.5em 1em;\n  width: 12em;\n  margin: 200rpx auto;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0 8rpx 16rpx rgba(0, 0, 0, 0.2);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n  border-radius: 8rpx;\n  position: relative;\n  overflow: hidden;\n  box-sizing: border-box;\n}\n\n.terminal-header {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  height: 1.5em;\n  background-color: #333;\n  border-top-left-radius: 8rpx;\n  border-top-right-radius: 8rpx;\n  padding: 0 0.4em;\n  box-sizing: border-box;\n}\n\n.terminal-controls {\n  float: right;\n}\n\n.control {\n  display: inline-block;\n  width: 0.6em;\n  height: 0.6em;\n  margin-left: 0.4em;\n  border-radius: 50%;\n  background-color: #777;\n}\n\n.control.close {\n  background-color: #e33;\n}\n\n.control.minimize {\n  background-color: #ee0;\n}\n\n.control.maximize {\n  background-color: #0b0;\n}\n\n.terminal-title {\n  float: left;\n  line-height: 1.5em;\n  color: #eee;\n}\n\n.text {\n  display: inline-block;\n  white-space: nowrap;\n  overflow: hidden;\n  border-right: 0.2em solid green; /* Cursor */\n  animation: typeAndDelete 4s steps(11) infinite,\n    blinkCursor 0.5s step-end infinite alternate;\n  margin-top: 1.5em;\n}\n\n",
    "component_name": "GalaxyUglyBullfrog62"
  },
  "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": "medium",
    "bundle_size": 1946,
    "render_cost": "medium",
    "memory_usage": "medium"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:42.272Z",
  "updated_at": "2025-07-31T07:55:42.272Z"
}