OriaTheme
GitHub

Für Anwendungsentwickler

Benutzerdefinierte Themen

Kopieren Sie unveränderliche Voreinstellungen, speichern Sie sie erst nach vollständiger Validierung und halten Sie Import, Vorschau und Persistenz innerhalb der atomaren Grenze der Laufzeit.

Voreinstellungen sind unveränderlich

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

DuplikatTheme erstellt ein benutzerdefiniertes Design. Voreinstellungen können nicht geändert oder gelöscht werden; Beim Entfernen des aktiven benutzerdefinierten Designs wird auf die konfigurierte Standardeinstellung zurückgegriffen.

Vorschau ist keine Persistenz

PreviewTheme wendet nur den aktuellen, vollständig gültigen Entwurf an, ohne die Einstellungen oder den Speicher zu ändern. Durch das Entsorgen des Handles wird der letzte offizielle Status wiederhergestellt. Das Speichern über „createCustomTheme“ oder „updateCustomTheme“ wird vor dem Schreiben vollständig validiert.

Der Import erfolgt immer über den Vertrag

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

Ein Import wird zu einem benutzerdefinierten Design und kann eine Voreinstellung nicht überschreiben. ungültige JSON oder Token gelten nie teilweise. Präsentieren Sie OriaThemeError.code oder Validierungsprobleme, anstatt einen passenden Fehlertext zu finden.

Weiter: anwendungsdefinierte Voreinstellungen