OriaTheme
GitHub

API-Referenz · Browser-Laufzeit

@oriatheme/runtime-dom

Externer Browserspeicher, atomare DOM-Anwendung, Persistenz, Bootstrap und View Transition.

Paket und Umgebung

SSR-sicher zu importieren; Start-, Speicher- und DOM-Schreibvorgänge werden nur im Browser ausgeführt.

bash
pnpm add @oriatheme/presets @oriatheme/runtime-dom

Verwenden Sie den Paketmanager und die Sperrdatei, die bereits vom Verbraucherprojekt ausgewählt wurden. Beispiele verwenden nur Paket-Root-Exporte; Führen Sie keinen Deep-Import aus src-, dist- oder Registry-Vorlagen durch.

Werks- und Erstlackierungs-APIs

ExportierenUnterschriftBeschreibung
createOriaThemeRuntime(config: OriaThemeConfig) => OriaThemeRuntimeErstellt den SSR-sicheren Speicher und die Client-DOM-Laufzeit.
bootstrapTheme(options?: BootstrapOptions) => voidWendet einen gültigen aktiven Snapshot vor dem Mounten des Frameworks an.
createBootstrapScript(options: BootstrapOptions) => stringErstellt ein eigenständiges Skript für einen vom Aufrufer bereitgestellten Snapshot.
createBootstrapStorageScript(options?) => stringErstellt ein kopfsicheres LocalStorage-Bootstrap-Skript.
ts
import { bootstrapTheme, createOriaThemeRuntime } from "@oriatheme/runtime-dom";
import { oriaPresetThemes } from "@oriatheme/presets";

bootstrapTheme({ contract: { name: "oria-standard", version: 2 } });
const runtime = createOriaThemeRuntime({
  presets: oriaPresetThemes,
  defaultThemeId: "oria-default",
});
runtime.start();

OriaThemeRuntime

ExportierenUnterschriftBeschreibung
start / destroy() => voidHängen Sie Browser-Listener und DOM-Besitz an oder geben Sie sie frei.
getSnapshot / subscribe() => ThemeSnapshot / (listener) => unsubscribeLesen oder abonnieren Sie den externen Store.
setTheme / setAppearance(id | mode, options?) => voidWählen Sie ein vorhandenes Thema oder eine Benutzereinstellung aus; kann explizite Aktionen animieren.
createCustomTheme({ theme }) => ThemeDefinitionBehält ein vollständig gültiges benutzerdefiniertes Design bei.
updateCustomTheme(id, patch, options?) => ThemeDefinitionAktualisiert nur ein vorhandenes benutzerdefiniertes Design.
duplicateTheme / removeCustomTheme(id, identity) => ThemeDefinition / (id) => voidKopiert ein voreingestelltes/benutzerdefiniertes Design oder entfernt ein benutzerdefiniertes Design.
previewTheme(theme, mode?) => PreviewHandleWendet eine gültige In-Memory-Vorschau an; Entsorgen stellt den formalen Zustand wieder her.
exportTheme / importTheme(id) => string / (json, options?) => ThemeDefinitionExportiert ein gespeichertes Design oder importiert ein vollständig validiertes benutzerdefiniertes Design.
reset() => voidSetzt die Laufzeitpräferenz und den benutzerdefinierten Status auf die ursprüngliche Konfiguration zurück.

Wichtige Typen und Grenzen

OriaThemeConfig erfordert Voreinstellungen und defaultThemeId; Der Vertrag ist standardmäßig oria-standard@2 und persistente v1-Designs werden nur mit einem explizit registrierten Migrationseintrag akzeptiert (andernfalls sicher abgelehnt). BootstrapOptions.contract stellt bei Deklaration nur genau übereinstimmende Snapshots wieder her. ThemeSnapshot macht Präferenz, aufgelösten Modus, aufgelöstes Thema, voreingestellte/benutzerdefinierte Listen und Fehler verfügbar. ThemeStorage kann die Standardpersistenz ersetzen und ThemeChangeOptions.animate ist nur für explizite Benutzeraktionen vorgesehen. Erscheint weiterhin, wird nie aufgelöst. Modus.