ICEN UI 标签页
Docs ⌘K
Core · 稳定

标签页

分区内容各就各位。指示条会滑动,键盘与地址栏都知道当前位置。

Preview
基础 tabs

本次发布包含 16 个组件的交互精修。版本 0.10.0,签名与产物就绪。

html
<div data-icen-tabs data-icen-tabs-hash="replace">  <nav class="icen-tabs" data-icen-tabs-ink role="tablist" aria-label="发布流程">    <button class="icen-page-tab is-active" type="button" data-icen-tab="overview">概览</button>    <button class="icen-page-tab" type="button" data-icen-tab="checks">检查单</button>    <button class="icen-page-tab" type="button" data-icen-tab="rollback">回滚</button>  </nav>  <section data-icen-tab-panel="overview" role="tabpanel">    <p>本次发布包含 16 个组件的交互精修。版本 0.10.0,签名与产物就绪。</p>  </section>  <section data-icen-tab-panel="checks" role="tabpanel" hidden>    <p>构建验证、类型检查、浏览器回归与视觉基线均已通过。</p>  </section>  <section data-icen-tab-panel="rollback" role="tabpanel" hidden>    <p>有 tag 可直接回滚;迁移脚本可逆。</p>  </section></div>

特性

接口

初始化
initTabs()(kit 一行入口可直接命名导入)
导出
initTabs
事件
icen:tab-change detail 契约见 IcenEventMap
类型
dist/behaviors/tabs.d.mts(随 npm 包发布,含全部 JSDoc 约束)

安装

bun add @icen.ai/ui

一行引入该组件(CSS 与 behavior 自动带上,无需关心内部 CSS 文件名):

js
import { initTabs } from '@icen.ai/ui/kit/tabs';initTabs();

也可以用脚手架直接打印引入行:

bash
bunx --bun @icen.ai/ui add tabs

Astro 项目注意:kit 入口里的 CSS import 在页面 <script> 里会被 Astro 的 client bundle 摇掉——请改在布局 frontmatter 里引 CSS(import '@icen.ai/ui/components/tabs.css';),JS 行为仍可走 kit。Vite SPA / webpack 项目无此问题。

用法

js
import { initTabs } from '@icen.ai/ui/kit/tabs';initTabs(); // 点击 + 方向键/Home/End;派发 icen:tab-change { tab, panel, index }<!-- 墨水条:tablist 挂 data-icen-tabs-ink;地址同步:容器挂 data-icen-tabs-hash="replace" --><!-- data-icen-tabs-activation="auto" 方向键移动即激活(缺省 manual 只移焦点) -->