应用开发者
应用自定义预设
在应用代码中注册完整、有效的 ThemeDefinition;不要把它伪装成官方 catalog,或绕过 Core 校验。先创建完整定义并验证
ts
import { createThemeFromSeed, validateTheme, oriaStandardContract } from "@oriatheme/core";
const brandTheme = createThemeFromSeed(
{ color: "#2563eb" },
{ id: "acme-blue", name: "Acme Blue" },
);
const result = validateTheme(brandTheme, oriaStandardContract);
if (!result.ok) throw new Error("Theme definition is invalid");生产应用应在构建或受控初始化阶段验证完整 ThemeDefinition。不要从不受信任 JSON 直接拼接 CSS,用户输入应走 Core import/validation API。
与官方预设一起传给 Runtime
ts
import { oriaPresetThemes } from "@oriatheme/presets";
import { createOriaThemeRuntime } from "@oriatheme/runtime-dom";
const runtime = createOriaThemeRuntime({
presets: [...oriaPresetThemes, brandTheme],
defaultThemeId: "acme-blue",
});这不是官方预设目录
@oriatheme/presets 的 catalog 由 OriaTheme 发布流程维护。应用预设只属于应用自己的配置,不能覆盖官方 ID,也不能绕过 Core 校验、解析或 Runtime 原子应用。
返回:选择公开包