用途:该技能用于在不安装 @danske/sapphire-react、@danske/sapphire-css、@danske/sapphire-design-tokens、@danske/sapphire-icons 等 npm 包的前提下,用纯 CSS 自定义属性与 HTML/CSS 模式近似还原 Danske Bank 的 Sapphire 设计系统,可在 React、Vue、Svelte 或纯 HTML 等任意框架中复现其外观。
主要能力:提供设计令牌(颜色、间距、字体、圆角、阴影、控件尺寸)、组件模式与 700+ 图标目录。组件参考按文件拆分:core.md(Surface、Text、Card、Separator、Layout)、buttons.md(Button 7 变体×3 尺寸、状态、图标)、forms.md(Text Field、Checkbox、Radio、Switch、Select)、feedback.md(Badge、Alert、Tabs、Dialog/Modal、Avatar)。
使用方式:在根元素(如 body)添加 class="sapphire-theme-default",并引入令牌 CSS(链接样式表或内联自定义属性)。按需只读取所需组件参考文件以控制上下文。主题变体包括 .sapphire-theme-default(白)、.sapphire-theme--secondary(Sand-50)、.sapphire-theme--tertiary(Sand-100)、.sapphire-theme--contrast(Gray-900 深色),可嵌套使用。字体使用 'Danske',回退到系统无衬线字体栈。
设计原则:使用语义化颜色令牌而非硬编码色值;统一间距刻度(4xs 0.125rem 至 6xl 4.5rem);按钮为胶囊形(圆角等于高度);悬停/激活用 color-mix() 半透明叠加;标题与正文分级;键盘焦点为 2px 蓝色轮廓偏移 2px;禁用态统一 opacity: 0.3。
适用场景:需要在任意前端框架中快速搭建接近 Sapphire 风格的界面,或做原型与主题切换。
限制:仅为近似实现,非官方包;Danske 字体为专有字体,无字体文件时只能回退系统字体;无障碍要求包括可见焦点指示、颜色不作为唯一状态标识、最小触控目标 2rem/32px、使用语义化 HTML 元素。具体令牌与组件细节需查阅对应参考文件,资料未提供完整代码清单。