{
  "name": "UI Echo 设计系统注册表",
  "homepage": "/showcase/registry",
  "items": [
    {
      "name": "avatar--glass-apple",
      "type": "registry:component",
      "title": "玻璃头像",
      "description": "Avatar with fallback｜无图或 onError 回落首字母：中文取前两字，西文取首字母缩写，不重试加载",
      "categories": [
        "ui-echo",
        "avatar",
        "glass-apple"
      ],
      "homepage": "/showcase/component/avatar/glass-apple"
    },
    {
      "name": "avatar--minimal",
      "type": "registry:component",
      "title": "极简头像",
      "description": "Avatar with fallback｜同一份 props（name / src / size / status）",
      "categories": [
        "ui-echo",
        "avatar",
        "minimal"
      ],
      "homepage": "/showcase/component/avatar/minimal"
    },
    {
      "name": "avatar--neumorphic",
      "type": "registry:component",
      "title": "拟态头像",
      "description": "Avatar with fallback｜同一份 props（name / src / size / status）",
      "categories": [
        "ui-echo",
        "avatar",
        "neumorphic"
      ],
      "homepage": "/showcase/component/avatar/neumorphic"
    },
    {
      "name": "badge--glass-apple",
      "type": "registry:component",
      "title": "玻璃徽标",
      "description": "Status Badge｜胶囊只用文字色表达语义（neutral / accent / success / warning），底色始终中性",
      "categories": [
        "ui-echo",
        "badge",
        "glass-apple"
      ],
      "homepage": "/showcase/component/badge/glass-apple"
    },
    {
      "name": "badge--minimal",
      "type": "registry:component",
      "title": "极简徽标",
      "description": "Status Badge｜同一份 props（variant / dot）",
      "categories": [
        "ui-echo",
        "badge",
        "minimal"
      ],
      "homepage": "/showcase/component/badge/minimal"
    },
    {
      "name": "badge--neumorphic",
      "type": "registry:component",
      "title": "拟态徽标",
      "description": "Status Badge｜同一份 props（variant / dot）",
      "categories": [
        "ui-echo",
        "badge",
        "neumorphic"
      ],
      "homepage": "/showcase/component/badge/neumorphic"
    },
    {
      "name": "banner--glass-apple",
      "type": "registry:component",
      "title": "玻璃提示条",
      "description": "Notification Banner｜页面级状态：常驻、不自动消失，处理完或手动关闭才走",
      "categories": [
        "ui-echo",
        "banner",
        "glass-apple"
      ],
      "homepage": "/showcase/component/banner/glass-apple"
    },
    {
      "name": "banner--minimal",
      "type": "registry:component",
      "title": "极简提示条",
      "description": "Notification Banner｜同一份 props 与 role 分配",
      "categories": [
        "ui-echo",
        "banner",
        "minimal"
      ],
      "homepage": "/showcase/component/banner/minimal"
    },
    {
      "name": "banner--neumorphic",
      "type": "registry:component",
      "title": "拟态提示条",
      "description": "Notification Banner｜同一份 props 与 role 分配",
      "categories": [
        "ui-echo",
        "banner",
        "neumorphic"
      ],
      "homepage": "/showcase/component/banner/neumorphic"
    },
    {
      "name": "base-interaction",
      "type": "registry:style",
      "title": "UI Echo · 交互工具类",
      "description": "全站唯一的按压/悬停定义与焦点环，带 prefers-reduced-motion 降级与被引用的 @keyframes。",
      "categories": [
        "ui-echo",
        "motion"
      ],
      "homepage": "/showcase/registry"
    },
    {
      "name": "base-layer",
      "type": "registry:lib",
      "title": "UI Echo · 行为底座",
      "description": "Portal 与浮层定位 / useDismiss / 按压与入场动效 / combobox 行为 / Field 与 Icon 外壳。",
      "categories": [
        "ui-echo",
        "lib"
      ],
      "homepage": "/showcase/registry"
    },
    {
      "name": "base-tokens",
      "type": "registry:style",
      "title": "UI Echo · token 底座",
      "description": "两层 token：base 存原值、semantic 只做引用；玻璃/新拟态/尺寸档位/曲线全在这里。",
      "categories": [
        "ui-echo",
        "tokens"
      ],
      "homepage": "/showcase/registry"
    },
    {
      "name": "breadcrumb--glass-apple",
      "type": "registry:component",
      "title": "玻璃面包屑",
      "description": "Breadcrumb｜nav aria-label + ol/li；分隔符 aria-hidden，当前位置 aria-current=page 且不可点",
      "categories": [
        "ui-echo",
        "breadcrumb",
        "glass-apple"
      ],
      "homepage": "/showcase/component/breadcrumb/glass-apple"
    },
    {
      "name": "breadcrumb--minimal",
      "type": "registry:component",
      "title": "极简面包屑",
      "description": "Breadcrumb｜同一份 props（items）",
      "categories": [
        "ui-echo",
        "breadcrumb",
        "minimal"
      ],
      "homepage": "/showcase/component/breadcrumb/minimal"
    },
    {
      "name": "breadcrumb--neumorphic",
      "type": "registry:component",
      "title": "拟态面包屑",
      "description": "Breadcrumb｜同一份 props（items）",
      "categories": [
        "ui-echo",
        "breadcrumb",
        "neumorphic"
      ],
      "homepage": "/showcase/component/breadcrumb/neumorphic"
    },
    {
      "name": "button--glass-apple",
      "type": "registry:component",
      "title": "玻璃按钮",
      "description": "Liquid Glass Button｜半透明底 + 1px 细边框 + 背景模糊，做出玻璃厚度",
      "categories": [
        "ui-echo",
        "button",
        "glass-apple"
      ],
      "homepage": "/showcase/component/button/glass-apple"
    },
    {
      "name": "button--minimal",
      "type": "registry:component",
      "title": "极简按钮",
      "description": "Flat Minimal Button｜实底 + 一条发丝边线 + 一档软阴影，没有模糊与浮起",
      "categories": [
        "ui-echo",
        "button",
        "minimal"
      ],
      "homepage": "/showcase/component/button/minimal"
    },
    {
      "name": "button--neumorphic",
      "type": "registry:component",
      "title": "拟态按钮",
      "description": "Neumorphic Button｜控件与页面同色，只靠亮侧高光 + 暗侧投影浮出表面",
      "categories": [
        "ui-echo",
        "button",
        "neumorphic"
      ],
      "homepage": "/showcase/component/button/neumorphic"
    },
    {
      "name": "card--glass-apple",
      "type": "registry:component",
      "title": "玻璃卡片",
      "description": "Liquid Glass Card｜玻璃面 + 边缘光学（内高光 + 顶部定向光）",
      "categories": [
        "ui-echo",
        "card",
        "glass-apple"
      ],
      "homepage": "/showcase/component/card/glass-apple"
    },
    {
      "name": "card--minimal",
      "type": "registry:component",
      "title": "极简卡片",
      "description": "Flat Minimal Card｜无浮起、无模糊、无阴影",
      "categories": [
        "ui-echo",
        "card",
        "minimal"
      ],
      "homepage": "/showcase/component/card/minimal"
    },
    {
      "name": "card--neumorphic",
      "type": "registry:component",
      "title": "拟态卡片",
      "description": "Neumorphic Card｜同色底 + 一组外双阴影浮起，没有边框与模糊",
      "categories": [
        "ui-echo",
        "card",
        "neumorphic"
      ],
      "homepage": "/showcase/component/card/neumorphic"
    },
    {
      "name": "card--spotlight",
      "type": "registry:component",
      "title": "聚光卡片",
      "description": "Border Glow + Inner Spotlight Card｜外层渐变边框跟随鼠标位置，白底盖住中心只露 1px 光边",
      "categories": [
        "ui-echo",
        "card",
        "spotlight"
      ],
      "homepage": "/showcase/component/card/spotlight"
    },
    {
      "name": "choice--glass-apple",
      "type": "registry:component",
      "title": "玻璃勾选",
      "description": "Checkbox & Radio Group (APG)｜原生 checkbox / radio + fieldset / legend；单选组同 name，方向键与空格交给浏览器",
      "categories": [
        "ui-echo",
        "choice",
        "glass-apple"
      ],
      "homepage": "/showcase/component/choice/glass-apple"
    },
    {
      "name": "choice--minimal",
      "type": "registry:component",
      "title": "极简勾选",
      "description": "Checkbox & Radio Group (APG)｜原生 checkbox / radio + fieldset / legend；单选组同 name，方向键与空格交给浏览器",
      "categories": [
        "ui-echo",
        "choice",
        "minimal"
      ],
      "homepage": "/showcase/component/choice/minimal"
    },
    {
      "name": "choice--neumorphic",
      "type": "registry:component",
      "title": "拟态勾选",
      "description": "Checkbox & Radio Group (APG)｜原生 checkbox / radio + fieldset / legend；单选组同 name，方向键与空格交给浏览器",
      "categories": [
        "ui-echo",
        "choice",
        "neumorphic"
      ],
      "homepage": "/showcase/component/choice/neumorphic"
    },
    {
      "name": "combobox--glass-apple",
      "type": "registry:component",
      "title": "玻璃可搜索下拉",
      "description": "List-filtering Combobox｜input role=combobox + aria-expanded / aria-controls / aria-autocomplete=list / aria-activedescendant",
      "categories": [
        "ui-echo",
        "combobox",
        "glass-apple"
      ],
      "homepage": "/showcase/component/combobox/glass-apple"
    },
    {
      "name": "combobox--minimal",
      "type": "registry:component",
      "title": "极简可搜索下拉",
      "description": "List-filtering Combobox｜同一份 props 与行为（@/lib/ui-echo/combobox）",
      "categories": [
        "ui-echo",
        "combobox",
        "minimal"
      ],
      "homepage": "/showcase/component/combobox/minimal"
    },
    {
      "name": "combobox--neumorphic",
      "type": "registry:component",
      "title": "拟态可搜索下拉",
      "description": "List-filtering Combobox｜同一份 props 与行为（@/lib/ui-echo/combobox）",
      "categories": [
        "ui-echo",
        "combobox",
        "neumorphic"
      ],
      "homepage": "/showcase/component/combobox/neumorphic"
    },
    {
      "name": "cursor--contextual",
      "type": "registry:component",
      "title": "上下文光标",
      "description": "Contextual Cursor Ring (local demo)｜只在自身范围内跟随指针，原生光标始终保留，不写 cursor: none",
      "categories": [
        "ui-echo",
        "cursor",
        "contextual"
      ],
      "homepage": "/showcase/component/cursor/contextual"
    },
    {
      "name": "cursor--magnetic",
      "type": "registry:component",
      "title": "磁吸指针",
      "description": "Magnetic Hover｜指针靠近时元素向指针偏移，光标保持原生",
      "categories": [
        "ui-echo",
        "cursor",
        "magnetic"
      ],
      "homepage": "/showcase/component/cursor/magnetic"
    },
    {
      "name": "descriptions--glass-apple",
      "type": "registry:component",
      "title": "玻璃描述列表",
      "description": "Description List｜原生 dl / dt / dd，读屏按标签—值成对播报",
      "categories": [
        "ui-echo",
        "descriptions",
        "glass-apple"
      ],
      "homepage": "/showcase/component/descriptions/glass-apple"
    },
    {
      "name": "descriptions--minimal",
      "type": "registry:component",
      "title": "极简描述列表",
      "description": "Description List｜同一份 props（items / columns）",
      "categories": [
        "ui-echo",
        "descriptions",
        "minimal"
      ],
      "homepage": "/showcase/component/descriptions/minimal"
    },
    {
      "name": "descriptions--neumorphic",
      "type": "registry:component",
      "title": "拟态描述列表",
      "description": "Description List｜同一份 props（items / columns）",
      "categories": [
        "ui-echo",
        "descriptions",
        "neumorphic"
      ],
      "homepage": "/showcase/component/descriptions/neumorphic"
    },
    {
      "name": "dock--glass-apple",
      "type": "registry:component",
      "title": "放大坞站",
      "description": "macOS-style Dock with Magnification｜余弦平方衰减的放大：峰值在鼠标处，半径外平滑归零",
      "categories": [
        "ui-echo",
        "dock",
        "glass-apple"
      ],
      "homepage": "/showcase/component/dock/glass-apple"
    },
    {
      "name": "dock--minimal",
      "type": "registry:component",
      "title": "极简坞站",
      "description": "macOS-style Dock, Flat Tray｜余弦平方衰减的放大：峰值在鼠标处，半径外平滑归零",
      "categories": [
        "ui-echo",
        "dock",
        "minimal"
      ],
      "homepage": "/showcase/component/dock/minimal"
    },
    {
      "name": "dock--neumorphic",
      "type": "registry:component",
      "title": "拟态坞站",
      "description": "macOS-style Dock, Neumorphic Tray｜余弦平方衰减的放大：峰值在鼠标处，半径外平滑归零",
      "categories": [
        "ui-echo",
        "dock",
        "neumorphic"
      ],
      "homepage": "/showcase/component/dock/neumorphic"
    },
    {
      "name": "drag--sortable-list",
      "type": "registry:component",
      "title": "拖拽排序",
      "description": "Sortable List (Pointer + Keyboard)｜Pointer Events + setPointerCapture，只在把手按下时开始拖拽",
      "categories": [
        "ui-echo",
        "drag",
        "sortable-list"
      ],
      "homepage": "/showcase/component/drag/sortable-list"
    },
    {
      "name": "drag--swipe-to-dismiss",
      "type": "registry:component",
      "title": "滑动删除",
      "description": "Swipe Actions｜四段链：1:1 跟手 → 越界阻尼 30% → 阈值 96px / 速度 0.5px/ms 双判 → 吸附或飞出",
      "categories": [
        "ui-echo",
        "drag",
        "swipe-to-dismiss"
      ],
      "homepage": "/showcase/component/drag/swipe-to-dismiss"
    },
    {
      "name": "drawer--glass-apple",
      "type": "registry:component",
      "title": "玻璃抽屉",
      "description": "Side Sheet / Drawer｜role=dialog + aria-modal + 标题命名；打开移入首个可聚焦，Tab 首尾循环",
      "categories": [
        "ui-echo",
        "drawer",
        "glass-apple"
      ],
      "homepage": "/showcase/component/drawer/glass-apple"
    },
    {
      "name": "drawer--minimal",
      "type": "registry:component",
      "title": "极简抽屉",
      "description": "Side Sheet / Drawer｜同一份 props（open / onClose / title / side / children / footer）",
      "categories": [
        "ui-echo",
        "drawer",
        "minimal"
      ],
      "homepage": "/showcase/component/drawer/minimal"
    },
    {
      "name": "drawer--neumorphic",
      "type": "registry:component",
      "title": "拟态抽屉",
      "description": "Side Sheet / Drawer｜同一份 props（open / onClose / title / side / children / footer）",
      "categories": [
        "ui-echo",
        "drawer",
        "neumorphic"
      ],
      "homepage": "/showcase/component/drawer/neumorphic"
    },
    {
      "name": "dropdown--glass-apple",
      "type": "registry:component",
      "title": "玻璃下拉",
      "description": "Select-Only Combobox (APG)｜触发器 role=combobox，弹层 role=listbox，aria-activedescendant 指向高亮项",
      "categories": [
        "ui-echo",
        "dropdown",
        "glass-apple"
      ],
      "homepage": "/showcase/component/dropdown/glass-apple"
    },
    {
      "name": "dropdown--minimal",
      "type": "registry:component",
      "title": "极简下拉",
      "description": "Select-Only Combobox (APG)｜触发器 role=combobox，弹层 role=listbox，aria-activedescendant 指向高亮项",
      "categories": [
        "ui-echo",
        "dropdown",
        "minimal"
      ],
      "homepage": "/showcase/component/dropdown/minimal"
    },
    {
      "name": "dropdown--neumorphic",
      "type": "registry:component",
      "title": "拟态下拉",
      "description": "Select-Only Combobox (APG)｜触发器 role=combobox，弹层 role=listbox，aria-activedescendant 指向高亮项",
      "categories": [
        "ui-echo",
        "dropdown",
        "neumorphic"
      ],
      "homepage": "/showcase/component/dropdown/neumorphic"
    },
    {
      "name": "empty-state--glass-apple",
      "type": "registry:component",
      "title": "玻璃空态",
      "description": "Empty State｜三件套：正面措辞的标题 + 一句说明 + 单个主操作；零数据不是错误，不用 warning 色",
      "categories": [
        "ui-echo",
        "empty-state",
        "glass-apple"
      ],
      "homepage": "/showcase/component/empty-state/glass-apple"
    },
    {
      "name": "empty-state--minimal",
      "type": "registry:component",
      "title": "极简空态",
      "description": "Empty State｜同一份 props（title / description / icon / action）",
      "categories": [
        "ui-echo",
        "empty-state",
        "minimal"
      ],
      "homepage": "/showcase/component/empty-state/minimal"
    },
    {
      "name": "empty-state--neumorphic",
      "type": "registry:component",
      "title": "拟态空态",
      "description": "Empty State｜同一份 props（title / description / icon / action）",
      "categories": [
        "ui-echo",
        "empty-state",
        "neumorphic"
      ],
      "homepage": "/showcase/component/empty-state/neumorphic"
    },
    {
      "name": "input--glass-apple",
      "type": "registry:component",
      "title": "玻璃输入框",
      "description": "Floating Label Input｜标签在框上方，不做浮动标签动画",
      "categories": [
        "ui-echo",
        "input",
        "glass-apple"
      ],
      "homepage": "/showcase/component/input/glass-apple"
    },
    {
      "name": "input--minimal",
      "type": "registry:component",
      "title": "极简输入框",
      "description": "Flat Minimal Input｜标签在框上方，白底 + 发丝边 + 一档软阴影",
      "categories": [
        "ui-echo",
        "input",
        "minimal"
      ],
      "homepage": "/showcase/component/input/minimal"
    },
    {
      "name": "input--neumorphic",
      "type": "registry:component",
      "title": "拟态输入框",
      "description": "Neumorphic Input｜输入区是同色凹槽：左上暗、右下亮两条 inset 阴影",
      "categories": [
        "ui-echo",
        "input",
        "neumorphic"
      ],
      "homepage": "/showcase/component/input/neumorphic"
    },
    {
      "name": "menu--glass-apple",
      "type": "registry:component",
      "title": "玻璃菜单",
      "description": "Menu Button (APG)｜触发器 aria-haspopup=menu + aria-expanded + aria-controls；菜单 role=menu，项 role=menuitem",
      "categories": [
        "ui-echo",
        "menu",
        "glass-apple"
      ],
      "homepage": "/showcase/component/menu/glass-apple"
    },
    {
      "name": "menu--minimal",
      "type": "registry:component",
      "title": "极简菜单",
      "description": "Menu Button (APG)｜同一份 props（label / items / placement）",
      "categories": [
        "ui-echo",
        "menu",
        "minimal"
      ],
      "homepage": "/showcase/component/menu/minimal"
    },
    {
      "name": "menu--neumorphic",
      "type": "registry:component",
      "title": "拟态菜单",
      "description": "Menu Button (APG)｜同一份 props（label / items / placement）",
      "categories": [
        "ui-echo",
        "menu",
        "neumorphic"
      ],
      "homepage": "/showcase/component/menu/neumorphic"
    },
    {
      "name": "modal--glass-apple",
      "type": "registry:component",
      "title": "玻璃模态",
      "description": "Sheet / Modal Dialog (APG)｜role=dialog + aria-modal + aria-labelledby",
      "categories": [
        "ui-echo",
        "modal",
        "glass-apple"
      ],
      "homepage": "/showcase/component/modal/glass-apple"
    },
    {
      "name": "modal--minimal",
      "type": "registry:component",
      "title": "极简模态",
      "description": "Flat Minimal Dialog (APG)｜role=dialog + aria-modal + aria-labelledby",
      "categories": [
        "ui-echo",
        "modal",
        "minimal"
      ],
      "homepage": "/showcase/component/modal/minimal"
    },
    {
      "name": "modal--neumorphic",
      "type": "registry:component",
      "title": "拟态模态",
      "description": "Neumorphic Dialog (APG)｜role=dialog + aria-modal + aria-labelledby",
      "categories": [
        "ui-echo",
        "modal",
        "neumorphic"
      ],
      "homepage": "/showcase/component/modal/neumorphic"
    },
    {
      "name": "motion--island-ios",
      "type": "registry:component",
      "title": "灵动岛形变",
      "description": "Dynamic Island Morph｜紧凑⇄展开两态之间做弹簧插值（阻尼比 ≈0.78）",
      "categories": [
        "ui-echo",
        "motion",
        "island-ios"
      ],
      "homepage": "/showcase/component/motion/island-ios"
    },
    {
      "name": "motion--spring-ios",
      "type": "registry:component",
      "title": "弹簧曲线",
      "description": "Spring Timing Explorer｜基准参数：response 0.5s、dampingFraction 0.825",
      "categories": [
        "ui-echo",
        "motion",
        "spring-ios"
      ],
      "homepage": "/showcase/component/motion/spring-ios"
    },
    {
      "name": "motion--text-decode",
      "type": "registry:component",
      "title": "文字解码",
      "description": "Text Decode / Scramble｜字符逐个替换成随机字符再落回",
      "categories": [
        "ui-echo",
        "motion",
        "text-decode"
      ],
      "homepage": "/showcase/component/motion/text-decode"
    },
    {
      "name": "nav--glass-apple",
      "type": "registry:component",
      "title": "玻璃导航",
      "description": "Top Navigation Bar｜固定顶栏 + 背景模糊，滚动不跟随",
      "categories": [
        "ui-echo",
        "nav",
        "glass-apple"
      ],
      "homepage": "/showcase/component/nav/glass-apple"
    },
    {
      "name": "nav--minimal",
      "type": "registry:component",
      "title": "极简导航",
      "description": "Flat Top Navigation｜白底 + 发丝边外壳，圆角收到 --radius-md",
      "categories": [
        "ui-echo",
        "nav",
        "minimal"
      ],
      "homepage": "/showcase/component/nav/minimal"
    },
    {
      "name": "nav--neumorphic",
      "type": "registry:component",
      "title": "拟态导航",
      "description": "Neumorphic Top Navigation｜外壳同色浮起（一组外双阴影），无边框无模糊",
      "categories": [
        "ui-echo",
        "nav",
        "neumorphic"
      ],
      "homepage": "/showcase/component/nav/neumorphic"
    },
    {
      "name": "otp--glass-apple",
      "type": "registry:component",
      "title": "玻璃验证码输入",
      "description": "One-Time Code Input｜一个真输入框 + 画的格子：逐格 input 会打断 autocomplete=one-time-code 自动填充",
      "categories": [
        "ui-echo",
        "otp",
        "glass-apple"
      ],
      "homepage": "/showcase/component/otp/glass-apple"
    },
    {
      "name": "otp--minimal",
      "type": "registry:component",
      "title": "极简验证码输入",
      "description": "One-Time Code Input｜同一份行为与语义（单输入框 + 画的格子）",
      "categories": [
        "ui-echo",
        "otp",
        "minimal"
      ],
      "homepage": "/showcase/component/otp/minimal"
    },
    {
      "name": "otp--neumorphic",
      "type": "registry:component",
      "title": "拟态验证码输入",
      "description": "One-Time Code Input｜同一份行为与语义（单输入框 + 画的格子）",
      "categories": [
        "ui-echo",
        "otp",
        "neumorphic"
      ],
      "homepage": "/showcase/component/otp/neumorphic"
    },
    {
      "name": "pagination--glass-apple",
      "type": "registry:component",
      "title": "玻璃分页",
      "description": "Pagination｜nav aria-label + ul/li；当前页 aria-current=page；每个页码 aria-label=第 n 页",
      "categories": [
        "ui-echo",
        "pagination",
        "glass-apple"
      ],
      "homepage": "/showcase/component/pagination/glass-apple"
    },
    {
      "name": "pagination--minimal",
      "type": "registry:component",
      "title": "极简分页",
      "description": "Pagination｜同一份 props（page / pageCount / onChange）",
      "categories": [
        "ui-echo",
        "pagination",
        "minimal"
      ],
      "homepage": "/showcase/component/pagination/minimal"
    },
    {
      "name": "pagination--neumorphic",
      "type": "registry:component",
      "title": "拟态分页",
      "description": "Pagination｜同一份 props（page / pageCount / onChange）",
      "categories": [
        "ui-echo",
        "pagination",
        "neumorphic"
      ],
      "homepage": "/showcase/component/pagination/neumorphic"
    },
    {
      "name": "popover--glass-apple",
      "type": "registry:component",
      "title": "玻璃浮层",
      "description": "Non-modal Popover｜触发器 aria-haspopup=dialog + aria-expanded + aria-controls；浮层 role=dialog 以标题命名",
      "categories": [
        "ui-echo",
        "popover",
        "glass-apple"
      ],
      "homepage": "/showcase/component/popover/glass-apple"
    },
    {
      "name": "popover--minimal",
      "type": "registry:component",
      "title": "极简浮层",
      "description": "Non-modal Popover｜同一份 props（trigger / title / children / placement）",
      "categories": [
        "ui-echo",
        "popover",
        "minimal"
      ],
      "homepage": "/showcase/component/popover/minimal"
    },
    {
      "name": "popover--neumorphic",
      "type": "registry:component",
      "title": "拟态浮层",
      "description": "Non-modal Popover｜同一份 props（trigger / title / children / placement）",
      "categories": [
        "ui-echo",
        "popover",
        "neumorphic"
      ],
      "homepage": "/showcase/component/popover/neumorphic"
    },
    {
      "name": "scene--auth",
      "type": "registry:block",
      "title": "整页场景 · 两步验证",
      "description": "两步验证：3 个真实组件拼装的整页参考实现",
      "categories": [
        "ui-echo",
        "scene"
      ],
      "homepage": "/showcase/demo/auth"
    },
    {
      "name": "scene--create",
      "type": "registry:block",
      "title": "整页场景 · 新建发布",
      "description": "新建发布：4 个真实组件拼装的整页参考实现",
      "categories": [
        "ui-echo",
        "scene"
      ],
      "homepage": "/showcase/demo/create"
    },
    {
      "name": "scene--dashboard",
      "type": "registry:block",
      "title": "整页场景 · 使用概览",
      "description": "使用概览：2 个真实组件拼装的整页参考实现",
      "categories": [
        "ui-echo",
        "scene"
      ],
      "homepage": "/showcase/demo/dashboard"
    },
    {
      "name": "scene--list",
      "type": "registry:block",
      "title": "整页场景 · 组件目录",
      "description": "组件目录：5 个真实组件拼装的整页参考实现",
      "categories": [
        "ui-echo",
        "scene"
      ],
      "homepage": "/showcase/demo/list"
    },
    {
      "name": "scene--page-home",
      "type": "registry:block",
      "title": "整页场景 · 产品首页",
      "description": "产品首页：0 个真实组件拼装的整页参考实现",
      "categories": [
        "ui-echo",
        "scene"
      ],
      "homepage": "/showcase/demo/page-home"
    },
    {
      "name": "scene--page-settings",
      "type": "registry:block",
      "title": "整页场景 · 账户设置",
      "description": "账户设置：3 个真实组件拼装的整页参考实现",
      "categories": [
        "ui-echo",
        "scene"
      ],
      "homepage": "/showcase/demo/page-settings"
    },
    {
      "name": "scene--record",
      "type": "registry:block",
      "title": "整页场景 · 发布记录",
      "description": "发布记录：8 个真实组件拼装的整页参考实现",
      "categories": [
        "ui-echo",
        "scene"
      ],
      "homepage": "/showcase/demo/record"
    },
    {
      "name": "segmented--glass-apple",
      "type": "registry:component",
      "title": "分段控件",
      "description": "Segmented Control (iOS)｜APG radiogroup：方向键遍历 + roving tabindex",
      "categories": [
        "ui-echo",
        "segmented",
        "glass-apple"
      ],
      "homepage": "/showcase/component/segmented/glass-apple"
    },
    {
      "name": "segmented--minimal",
      "type": "registry:component",
      "title": "极简分段控件",
      "description": "Flat Segmented Control｜APG radiogroup：方向键遍历 + roving tabindex",
      "categories": [
        "ui-echo",
        "segmented",
        "minimal"
      ],
      "homepage": "/showcase/component/segmented/minimal"
    },
    {
      "name": "segmented--neumorphic",
      "type": "registry:component",
      "title": "拟态分段控件",
      "description": "Neumorphic Segmented Control｜APG radiogroup：方向键遍历 + roving tabindex",
      "categories": [
        "ui-echo",
        "segmented",
        "neumorphic"
      ],
      "homepage": "/showcase/component/segmented/neumorphic"
    },
    {
      "name": "skeleton--glass-apple",
      "type": "registry:component",
      "title": "玻璃骨架",
      "description": "Skeleton Screen｜role=status + aria-busy，占位块全部 aria-hidden，读屏只播一句加载状态",
      "categories": [
        "ui-echo",
        "skeleton",
        "glass-apple"
      ],
      "homepage": "/showcase/component/skeleton/glass-apple"
    },
    {
      "name": "skeleton--minimal",
      "type": "registry:component",
      "title": "极简骨架",
      "description": "Skeleton Screen｜role=status + aria-busy，占位块全部 aria-hidden，读屏只播一句加载状态",
      "categories": [
        "ui-echo",
        "skeleton",
        "minimal"
      ],
      "homepage": "/showcase/component/skeleton/minimal"
    },
    {
      "name": "skeleton--neumorphic",
      "type": "registry:component",
      "title": "拟态骨架",
      "description": "Skeleton Screen｜role=status + aria-busy，占位块全部 aria-hidden，读屏只播一句加载状态",
      "categories": [
        "ui-echo",
        "skeleton",
        "neumorphic"
      ],
      "homepage": "/showcase/component/skeleton/neumorphic"
    },
    {
      "name": "slider--glass-apple",
      "type": "registry:component",
      "title": "玻璃滑块",
      "description": "UISlider｜role=slider + aria-valuenow/min/max，← → 单步、PageUp/Down 十步、Home/End 到端",
      "categories": [
        "ui-echo",
        "slider",
        "glass-apple"
      ],
      "homepage": "/showcase/component/slider/glass-apple"
    },
    {
      "name": "slider--minimal",
      "type": "registry:component",
      "title": "极简滑块",
      "description": "Minimal Range｜4px 发丝线轨道，无边框无内阴影",
      "categories": [
        "ui-echo",
        "slider",
        "minimal"
      ],
      "homepage": "/showcase/component/slider/minimal"
    },
    {
      "name": "slider--neumorphic",
      "type": "registry:component",
      "title": "拟态滑块",
      "description": "Neumorphic Range｜轨道压入（inset 双阴影）、旋钮浮起（外双阴影），方向相反",
      "categories": [
        "ui-echo",
        "slider",
        "neumorphic"
      ],
      "homepage": "/showcase/component/slider/neumorphic"
    },
    {
      "name": "switch--glass-apple",
      "type": "registry:component",
      "title": "玻璃开关",
      "description": "iOS UISwitch｜role=switch + aria-checked，Space / Enter 切换",
      "categories": [
        "ui-echo",
        "switch",
        "glass-apple"
      ],
      "homepage": "/showcase/component/switch/glass-apple"
    },
    {
      "name": "switch--minimal",
      "type": "registry:component",
      "title": "极简开关",
      "description": "Flat Minimal Switch｜role=switch + aria-checked，Space / Enter 切换",
      "categories": [
        "ui-echo",
        "switch",
        "minimal"
      ],
      "homepage": "/showcase/component/switch/minimal"
    },
    {
      "name": "switch--neumorphic",
      "type": "registry:component",
      "title": "拟态开关",
      "description": "Neumorphic Switch｜role=switch + aria-checked，Space / Enter 切换",
      "categories": [
        "ui-echo",
        "switch",
        "neumorphic"
      ],
      "homepage": "/showcase/component/switch/neumorphic"
    },
    {
      "name": "table--glass-apple",
      "type": "registry:component",
      "title": "玻璃数据表",
      "description": "Data Table｜table + caption（视觉隐藏）；表头 scope=col，首列当行头 scope=row",
      "categories": [
        "ui-echo",
        "table",
        "glass-apple"
      ],
      "homepage": "/showcase/component/table/glass-apple"
    },
    {
      "name": "table--minimal",
      "type": "registry:component",
      "title": "极简数据表",
      "description": "Data Table｜同一份 props（caption / columns / rows / className）",
      "categories": [
        "ui-echo",
        "table",
        "minimal"
      ],
      "homepage": "/showcase/component/table/minimal"
    },
    {
      "name": "table--neumorphic",
      "type": "registry:component",
      "title": "拟态数据表",
      "description": "Data Table｜同一份 props（caption / columns / rows / className）",
      "categories": [
        "ui-echo",
        "table",
        "neumorphic"
      ],
      "homepage": "/showcase/component/table/neumorphic"
    },
    {
      "name": "tabs--glass-apple",
      "type": "registry:component",
      "title": "玻璃标签页",
      "description": "Tabs (APG, automatic activation)｜tablist / tab / tabpanel 三件套，aria-selected + aria-controls 绑定面板",
      "categories": [
        "ui-echo",
        "tabs",
        "glass-apple"
      ],
      "homepage": "/showcase/component/tabs/glass-apple"
    },
    {
      "name": "tabs--minimal",
      "type": "registry:component",
      "title": "极简标签页",
      "description": "Tabs (APG, automatic activation)｜tablist / tab / tabpanel 三件套，aria-selected + aria-controls 绑定面板",
      "categories": [
        "ui-echo",
        "tabs",
        "minimal"
      ],
      "homepage": "/showcase/component/tabs/minimal"
    },
    {
      "name": "tabs--neumorphic",
      "type": "registry:component",
      "title": "拟态标签页",
      "description": "Tabs (APG, automatic activation)｜tablist / tab / tabpanel 三件套，aria-selected + aria-controls 绑定面板",
      "categories": [
        "ui-echo",
        "tabs",
        "neumorphic"
      ],
      "homepage": "/showcase/component/tabs/neumorphic"
    },
    {
      "name": "tags--glass-apple",
      "type": "registry:component",
      "title": "玻璃标签输入",
      "description": "Tag Input (chips)｜回车 / 逗号 / 失焦提交；粘贴逗号分隔的多个值会拆开并去重",
      "categories": [
        "ui-echo",
        "tags",
        "glass-apple"
      ],
      "homepage": "/showcase/component/tags/glass-apple"
    },
    {
      "name": "tags--minimal",
      "type": "registry:component",
      "title": "极简标签输入",
      "description": "Tag Input (chips)｜同一份 props（value / defaultValue / onChange / max / disabled）",
      "categories": [
        "ui-echo",
        "tags",
        "minimal"
      ],
      "homepage": "/showcase/component/tags/minimal"
    },
    {
      "name": "tags--neumorphic",
      "type": "registry:component",
      "title": "拟态标签输入",
      "description": "Tag Input (chips)｜同一份 props（value / defaultValue / onChange / max / disabled）",
      "categories": [
        "ui-echo",
        "tags",
        "neumorphic"
      ],
      "homepage": "/showcase/component/tags/neumorphic"
    },
    {
      "name": "textarea--glass-apple",
      "type": "registry:component",
      "title": "玻璃多行输入",
      "description": "Autosizing Textarea｜label 在框上方；校验契约与单行输入一致（aria-describedby + aria-invalid + role=alert）",
      "categories": [
        "ui-echo",
        "textarea",
        "glass-apple"
      ],
      "homepage": "/showcase/component/textarea/glass-apple"
    },
    {
      "name": "textarea--minimal",
      "type": "registry:component",
      "title": "极简多行输入",
      "description": "Autosizing Textarea｜白面 + 发丝边 + shadow-sm，没有模糊与 inset",
      "categories": [
        "ui-echo",
        "textarea",
        "minimal"
      ],
      "homepage": "/showcase/component/textarea/minimal"
    },
    {
      "name": "textarea--neumorphic",
      "type": "registry:component",
      "title": "拟态多行输入",
      "description": "Autosizing Textarea｜同色凹槽：左上暗、右下亮两条 inset 阴影，没有边框",
      "categories": [
        "ui-echo",
        "textarea",
        "neumorphic"
      ],
      "homepage": "/showcase/component/textarea/neumorphic"
    },
    {
      "name": "toast--glass-apple",
      "type": "registry:component",
      "title": "玻璃通知",
      "description": "Toast Stack (sonner-style)｜新通知在前，后排逐层缩小上移",
      "categories": [
        "ui-echo",
        "toast",
        "glass-apple"
      ],
      "homepage": "/showcase/component/toast/glass-apple"
    },
    {
      "name": "toast--minimal",
      "type": "registry:component",
      "title": "极简通知",
      "description": "Flat Toast Stack (sonner-style)｜宽 356px，牌堆每层缩 5%、抬 14px",
      "categories": [
        "ui-echo",
        "toast",
        "minimal"
      ],
      "homepage": "/showcase/component/toast/minimal"
    },
    {
      "name": "toast--neumorphic",
      "type": "registry:component",
      "title": "拟态通知",
      "description": "Neumorphic Toast Stack (sonner-style)｜宽 356px，牌堆每层缩 5%、抬 14px",
      "categories": [
        "ui-echo",
        "toast",
        "neumorphic"
      ],
      "homepage": "/showcase/component/toast/neumorphic"
    },
    {
      "name": "tooltip--glass-apple",
      "type": "registry:component",
      "title": "玻璃提示",
      "description": "Tooltip (WCAG 1.4.13)｜悬停等 --dwell-tooltip（350ms）才出，键盘聚焦立即出；移出 / 失焦 / Esc 立即关",
      "categories": [
        "ui-echo",
        "tooltip",
        "glass-apple"
      ],
      "homepage": "/showcase/component/tooltip/glass-apple"
    },
    {
      "name": "tooltip--minimal",
      "type": "registry:component",
      "title": "极简提示",
      "description": "Tooltip (WCAG 1.4.13)｜同一份 props（content / children / placement）",
      "categories": [
        "ui-echo",
        "tooltip",
        "minimal"
      ],
      "homepage": "/showcase/component/tooltip/minimal"
    },
    {
      "name": "tooltip--neumorphic",
      "type": "registry:component",
      "title": "拟态提示",
      "description": "Tooltip (WCAG 1.4.13)｜同一份 props（content / children / placement）",
      "categories": [
        "ui-echo",
        "tooltip",
        "neumorphic"
      ],
      "homepage": "/showcase/component/tooltip/neumorphic"
    },
    {
      "name": "ui-echo",
      "type": "registry:style",
      "title": "UI Echo 整套",
      "description": "材质分级 + 风格轴 + 两层 token + 交互底座：一次装齐本站的设计系统底盘。",
      "categories": [
        "ui-echo"
      ],
      "homepage": "/design"
    },
    {
      "name": "upload--glass-apple",
      "type": "registry:component",
      "title": "玻璃上传",
      "description": "Dropzone｜三个入口：拖放、点选择文件、键盘聚焦按钮后 Enter 打开选择器",
      "categories": [
        "ui-echo",
        "upload",
        "glass-apple"
      ],
      "homepage": "/showcase/component/upload/glass-apple"
    },
    {
      "name": "upload--minimal",
      "type": "registry:component",
      "title": "极简上传",
      "description": "Dropzone｜同一份 props（accept / multiple / maxSizeMb / files / onChange）",
      "categories": [
        "ui-echo",
        "upload",
        "minimal"
      ],
      "homepage": "/showcase/component/upload/minimal"
    },
    {
      "name": "upload--neumorphic",
      "type": "registry:component",
      "title": "拟态上传",
      "description": "Dropzone｜同一份 props（accept / multiple / maxSizeMb / files / onChange）",
      "categories": [
        "ui-echo",
        "upload",
        "neumorphic"
      ],
      "homepage": "/showcase/component/upload/neumorphic"
    }
  ]
}
