OriaTheme
GitHub

Pour les développeurs d'applications

Thèmes personnalisés

Copiez les préréglages immuables, enregistrez-les uniquement après une validation complète et conservez l'importation, l'aperçu et la persistance dans les limites atomiques du runtime.

Les préréglages sont immuables

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 crée un thème personnalisé. Les préréglages ne peuvent pas être modifiés ou supprimés ; la suppression du thème personnalisé actif revient à la valeur par défaut configurée.

L'aperçu n'est pas la persistance

previewTheme applique uniquement le brouillon complet valide actuel sans modifier les préférences ou le stockage. Se débarrasser de sa poignée rétablit le dernier état officiel. L'enregistrement via createCustomTheme ou updateCustomTheme est complètement validé avant l'écriture.

L'importation passe toujours par le contrat

ts
try {
  const imported = runtime.importTheme(json);
  runtime.setTheme(imported.id);
} catch (error) {
  // Branch on OriaThemeError.code, not its English message.
}

Une importation devient un thème personnalisé et ne peut pas écraser un préréglage ; JSON invalide ou les jetons ne s'appliquent jamais partiellement. Présentez OriaThemeError.code ou des problèmes de validation au lieu de faire correspondre le texte d’erreur.

Continuer : préréglages définis par l'application