跳转到正文

外观

Orbz 提供两种互斥的外观模式:

  1. 选择一个内置 preset;或
  2. 省略 preset,设置五个 color-* 属性中的任意属性。

没有 palette 属性,公开名称为 preset。

内置预设

预设主色辅色强调色高光核心
neongate (默认)#6C5CFF#00E9FF#FF4DDE#FFB07A#14142B
periwinkle#6667AB#8FB8FF#E66FA9#F3ECFF#111226
magenta#BB2649#F06A82#29B8A6#FFDCE4#250A12
peach#FFBE98#FF8F70#D987A3#FFF0E7#2A1516
mocha#A47864#D3A17E#7FA18F#F2E2D7#211613
ivory#F0EEE9#AFC7D3#C8B3D4#FFFFFF#171A20
<orb-z preset="periwinkle"></orb-z>

即使没有 preset,默认外观仍为 Neongate,因此自定义模式会为未提供的颜色继承 Neongate 值。

构建选择器时使用导出的名称和值:

import { DEFAULT_ORBZ_PRESET, ORBZ_PRESET_NAMES, ORBZ_PRESETS, type OrbzPresetName, } from "@neongate-ai/orbz"; function getPreview(name: OrbzPresetName) { return ORBZ_PRESETS[name]; } const NeongateColors = getPreview(DEFAULT_ORBZ_PRESET);

Neongate 预设名称

预设名称为 Neongate(neongate),与托管 Orbz 的 GitHub 账号无关。1.0.1 曾误发布从账号派生的 API 键;1.0.2 恢复 neongate 且不改变颜色。本文档使用已发布的 @neongate-ai/orbz@1.0.2。

DEFAULT_ORBZ_PRESET 和默认 preset getter 返回 neongate。新建显式标记请使用规范名称:

<orb-z preset="neongate"></orb-z>

已弃用的账号派生名称仍被预设属性、类型和守卫接受,但会归一化为 neongate,包括属性反射与 getter。transformOrbzConfiguration() 对使用旧名的简洁或完整配置进行归一化,不修改输入。

ORBZ_PRESET_NAMES 列出六个规范名称。弃用的配色键保留为 ORBZ_PRESETS.neongate 的不可枚举、不可变别名,原有直接读取仍有效,不会出现第七个选项。跟随包默认值时优先使用 DEFAULT_ORBZ_PRESET 和 ORBZ_PRESETS[DEFAULT_ORBZ_PRESET]。默认 HTML 可省略 preset:

<orb-z></orb-z>

省略 preset 也会启用自定义颜色。从已安装包的 ORBZ_PRESET_NAMES 生成新选项;从 1.0.1 升级时请阅读 1.0.2 发行说明。

自定义配色

移除或省略 preset,然后设置一个或多个有效 CSS 颜色:

<orb-z color-primary="#7C3AED" color-secondary="#22D3EE" color-accent="#F472B6" color-highlight="#FDE68A" color-background="#09090B" ></orb-z>
属性作用
color-primary主体区域颜色
color-secondary对比区域和圆环的颜色
color-accent光晕及辅助能量
color-highlight暖色或明亮高光
color-background球体核心颜色

自定义颜色可只设置部分值。缺失值继承 Neongate 默认值,因此只调整一个颜色也有效:

<orb-z color-accent="#FF6B35"></orb-z>

冲突时预设优先

不要同时提供 preset 与自定义颜色。若运行时同时存在,Orbz 应用预设、忽略自定义颜色,并在控制台列出冲突属性。

<!-- Invalid: preset wins and color-primary is ignored. --> <orb-z preset="mocha" color-primary="#7C3AED"></orb-z>

自定义属性会保留在宿主上,移除 preset 后生效。因此颜色编辑器应明确切换模式:

const orb = document.querySelector("orb-z"); orb?.removeAttribute("preset"); orb?.setAttribute("color-primary", "#7C3AED");

所有框架都写入相同的原生属性,所以规则一致。写入自定义颜色前请移除 preset。

大小与阴影

size 同时控制宽高。HTML 中传入 CSS 长度;JavaScript 属性中的正数解释为像素。

<orb-z size="18rem" elevated></orb-z>

elevated 为球体添加居中的圆形阴影。它是标准布尔属性,存在即为真,elevated="false" 仍启用。禁用时移除属性或将 JavaScript 属性设为 false。

有意不开放定制的部分

内部 CSS 变量、选择器、图层和 Shadow DOM 部分均为私有实现,不是受支持的主题 API。文档属性才是稳定契约,它们保证跨框架外观一致,同时允许 Orbz 改善内部渲染。

最近更新于