OriaTheme
GitHub

アプリケーション開発者向け

カスタムテーマ

不変のプリセットをコピーし、完全な検証後にのみ保存し、ランタイムのアトミック境界内でインポート、プレビュー、永続性を維持します。

プリセットは不変です

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);

DuplicateTheme はカスタム テーマを作成します。プリセットは変更または削除できません。アクティブなカスタム テーマを削除すると、構成されたデフォルトに戻ります。

プレビューは永続的ではありません

プレビューテーマは、設定やストレージを変更せずに、現在完全に有効なドラフトのみを適用します。ハンドルを破棄すると、最新の公式状態が復元されます。 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 または検証の問題を提示します。

続行: アプリケーション定義のプリセット