-
注册账号邮箱验证通过
-
实名认证审核已完成
-
3
填写资料正在进行
-
4
完成等待前序步骤
-
创建项目仓库初始化完成
-
2
配置流水线正在编辑 .cnb.yml
-
3
部署上线等待触发
<ol class="icen-steps"> <li class="icen-step icen-step--finish"> <span class="icen-step-line"></span> <span class="icen-step-dot"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" focusable="false" class="icen-symbol" aria-hidden="true"><path d="M4.5 10.2l3.6 3.6 7.4-7.6"></path></svg></span> <div class="icen-step-body"> <div class="icen-step-title">注册账号</div> <div class="icen-step-desc">邮箱验证通过</div> </div> </li> <li class="icen-step icen-step--finish"> <span class="icen-step-line"></span> <span class="icen-step-dot"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" focusable="false" class="icen-symbol" aria-hidden="true"><path d="M4.5 10.2l3.6 3.6 7.4-7.6"></path></svg></span> <div class="icen-step-body"> <div class="icen-step-title">实名认证</div> <div class="icen-step-desc">审核已完成</div> </div> </li> <li class="icen-step icen-step--process"> <span class="icen-step-line"></span> <span class="icen-step-dot">3</span> <div class="icen-step-body"> <div class="icen-step-title">填写资料</div> <div class="icen-step-desc">正在进行</div> </div> </li> <li class="icen-step icen-step--wait"> <span class="icen-step-line"></span> <span class="icen-step-dot">4</span> <div class="icen-step-body"> <div class="icen-step-title">完成</div> <div class="icen-step-desc">等待前序步骤</div> </div> </li></ol><ol class="icen-steps icen-steps--vertical" style="margin-top:20px"> <li class="icen-step icen-step--finish"> <span class="icen-step-line"></span> <span class="icen-step-dot"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" focusable="false" class="icen-symbol" aria-hidden="true"><path d="M4.5 10.2l3.6 3.6 7.4-7.6"></path></svg></span> <div class="icen-step-body"> <div class="icen-step-title">创建项目</div> <div class="icen-step-desc">仓库初始化完成</div> </div> </li> <li class="icen-step icen-step--process"> <span class="icen-step-line"></span> <span class="icen-step-dot">2</span> <div class="icen-step-body"> <div class="icen-step-title">配置流水线</div> <div class="icen-step-desc">正在编辑 .cnb.yml</div> </div> </li> <li class="icen-step icen-step--wait"> <span class="icen-step-line"></span> <span class="icen-step-dot">3</span> <div class="icen-step-body"> <div class="icen-step-title">部署上线</div> <div class="icen-step-desc">等待触发</div> </div> </li></ol>
特性
- 三态:
finish/process/wait;连接线颜色跟随已完成步骤 - 方向:横向与垂直共用同一 DOM,容器加
icen-steps--vertical即换向
接口
- 初始化
initSteps()(kit 一行入口可直接命名导入)- 导出
-
initSteps共享行为模块,清单含族内导出 - 事件
-
icen:check-changeicen:page-changeicen:rating-changeicen:segmented-changeicen:sort-changeicen:step-changeicen:stepper-changeicen:switch-changedetail 契约见IcenEventMap;共享行为模块,清单含族内事件 - 类型
dist/behaviors/controls.d.mts(随 npm 包发布,含全部 JSDoc 约束)
安装
bun add @icen.ai/ui pnpm add @icen.ai/ui npm install @icen.ai/ui yarn add @icen.ai/ui 一行引入该组件(CSS 与 behavior 自动带上,无需关心内部 CSS 文件名):
import '@icen.ai/ui/kit/steps';import { initSteps } from '@icen.ai/ui';initSteps();
也可以用脚手架直接打印引入行:
bunx --bun @icen.ai/ui add steps
Astro 项目注意:kit 入口里的 CSS import 在页面 <script> 里会被 Astro 的 client bundle 摇掉——请改在布局 frontmatter 里引 CSS(import '@icen.ai/ui/components/steps.css';),JS 行为仍可走 kit。Vite SPA / webpack 项目无此问题。
用法
<ol class="icen-steps"> <li class="icen-step icen-step--finish"> <span class="icen-step-line"></span> <span class="icen-step-dot"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" focusable="false" class="icen-symbol" aria-hidden="true"><path d="M4.5 10.2l3.6 3.6 7.4-7.6"></path></svg></span> <div class="icen-step-body"> <div class="icen-step-title">已完成</div> <div class="icen-step-desc">描述</div> </div> </li> <li class="icen-step icen-step--process">…</li> <li class="icen-step icen-step--wait">…</li></ol>