SuperAPI AI 工具集

basecoat

前端与建站

查看项目

更新于 10-16 13:57

技能介绍

Basecoat 是一个以 Tailwind CSS v4 为先的组件库,使用语义化 HTML 和原生 JavaScript,定位类似“没有框架的 shadcn/ui”。官方文档位于 https://basecoatui.com,npm 包名为 basecoat-css。

【用途】 用于构建 UI 界面,尤其适合不依赖 React、Radix 等框架、希望使用语义化标记和原生 JS 的项目。

【安装方式】 CDN:引入 basecoat.cdn.min.css 样式表,并以 defer 引入 all.min.js 脚本,地址分别为 https://cdn.jsdelivr.net/npm/basecoat-css@latest/dist/basecoat.cdn.min.css 与 https://cdn.jsdelivr.net/npm/basecoat-css@latest/dist/js/all.min.js。 NPM:执行 npm i basecoat-css,然后在样式中 @import "tailwindcss"; 与 @import "basecoat-css";。 ESM:import "basecoat-css/all";,也可按需导入,如 import "basecoat-css/tabs";。

【JS 初始化】 在 DOMContentLoaded 时自动初始化;也可手动调用 window.basecoat.init('tabs') 或 window.basecoat.initAll()。

【图标】 使用 Lucide 图标。可选方式:访问 lucide.dev/icons 点击图标复制 SVG;安装包 npm i lucide(参见 lucide.dev/guide/installation);或使用 lucide.dev/packages 提供的 React/Vue/Angular 等框架包。

【主题与定制】 与 shadcn/ui 主题完全兼容:可从 ui.shadcn.com/themes 或 tweakcn.com 选择主题,点击“Copy code”保存为 theme.css,并在 Basecoat 之后导入:@import "tailwindcss"; @import "basecoat-css"; @import "./theme.css";。 定制方式有三种:用 Tailwind 工具类覆盖,例如 <button class="btn font-normal">Custom button</button>;用自定义 CSS 覆盖,在导入 basecoat-css 后再导入 custom.css;或将 basecoat.css 复制进项目直接修改源码。 设计令牌包括 background、foreground、primary、primary-foreground、secondary、secondary-foreground、accent、accent-foreground、muted、muted-foreground、card、card-foreground、popover、popover-foreground、destructive、ring、input、border。

【组件】 布局与结构:Accordion(样式化的 details 元素)、Card(含 header/content/footer 的容器)、Dialog(基于原生 dialog 的模态框)、Drawer(离屏对话框)、Field(带标签/帮助/错误的表单字段)、Fieldset(相关字段分组)、Form(为子元素应用样式的表单包装器)、Input Group(带图标/按钮的输入框)。 表单控件:Button(多种变体与尺寸)、Button Group(按钮组)、Checkbox、Input、Label、Radio、Select(原生与自定义)、Switch、Textarea。 导航:Breadcrumb、Pagination、Sidebar(可折叠导航)、Table、Tabs。 弹层:Alert Dialog(关键确认对话框)、Dropdown Menu、Popover、Tooltip。 反馈:Alert、Empty(空状态)、Progress、Skeleton、Spinner、Toast(全局通知)。 命令与搜索:Command(命令面板)、Combobox(带搜索的选择器)。 展示:Avatar、Badge、Carousel、Chart、Item(带图标的列表行)、Kbd、Slider、Theme Switcher。

【事件】 basecoat:initialized:组件根元素在初始化后触发;basecoat:popover:弹出层打开时在 document 上触发;basecoat:toast:在 document 上触发以显示 toast。

【规则与限制】 仅使用文档中记录的类名;包名是 basecoat-css 而非 basecoat;交互组件需要特定的 role/attribute;框架无关,不依赖 React/Radix。

【适用场景】 适合在服务端渲染、静态页面或任意后端框架中快速搭建界面,并可复用 shadcn/ui 生态主题。具体浏览器兼容范围、版本要求、收费与授权信息暂未提供。