對於應用程式開發人員
自訂主題
複製不可變的預設,僅在完成驗證後儲存,並將導入、預覽和持久性保留在運行時的原子邊界內。預設是不可變的
ts
const copied = runtime.duplicateTheme("oria-default", {
id: "brand-2026",
name: "Brand 2026",
});
runtime.updateCustomTheme(copied.id, {
name: "Brand 2026 (refined)",
modes: { light: draftLightTokens, dark: draftDarkTokens },
});
runtime.setTheme(copied.id);重複主題建立自訂主題。預設無法變更或刪除;刪除活動的自訂主題將恢復為配置的預設主題。
預覽不是持久
PreviewTheme 僅套用目前完整的有效草稿,而不更改首選項或儲存。處理其句柄可恢復最新的官方狀態。透過 createCustomTheme 或 updateCustomTheme 保存在寫入之前完全驗證。
進口總是透過合約
ts
try {
const imported = runtime.importTheme(json);
runtime.setTheme(imported.id);
} catch (error) {
// Branch on OriaThemeError.code, not its English message.
}匯入成為自訂主題,不能覆蓋預設;無效的 JSON 或令牌永遠不會部分適用。顯示 OriaThemeError.code 或驗證問題,而不是匹配錯誤文字。
繼續:應用程式定義的預設