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.
pnpm add @oriatheme/presets @oriatheme/runtime-domnpm install @oriatheme/presets @oriatheme/runtime-domyarn add @oriatheme/presets @oriatheme/runtime-dombun add @oriatheme/presets @oriatheme/runtime-domVerwenden 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
| Exportieren | Unterschrift | Beschreibung |
|---|---|---|
createOriaThemeRuntime | (config: OriaThemeConfig) => OriaThemeRuntime | Erstellt den SSR-sicheren Speicher und die Client-DOM-Laufzeit. |
bootstrapTheme | (options?: BootstrapOptions) => void | Wendet einen gültigen aktiven Snapshot vor dem Mounten des Frameworks an. |
createBootstrapScript | (options: BootstrapOptions) => string | Erstellt ein eigenständiges Skript für einen vom Aufrufer bereitgestellten Snapshot. |
createBootstrapStorageScript | (options?) => string | Erstellt ein kopfsicheres LocalStorage-Bootstrap-Skript. |
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
| Exportieren | Unterschrift | Beschreibung |
|---|---|---|
start / destroy | () => void | Hängen Sie Browser-Listener und DOM-Besitz an oder geben Sie sie frei. |
getSnapshot / subscribe | () => ThemeSnapshot / (listener) => unsubscribe | Lesen oder abonnieren Sie den externen Store. |
setTheme / setAppearance | (id | mode, options?) => void | Wählen Sie ein vorhandenes Thema oder eine Benutzereinstellung aus; kann explizite Aktionen animieren. |
createCustomTheme | ({ theme }) => ThemeDefinition | Behält ein vollständig gültiges benutzerdefiniertes Design bei. |
updateCustomTheme | (id, patch, options?) => ThemeDefinition | Aktualisiert nur ein vorhandenes benutzerdefiniertes Design. |
duplicateTheme / removeCustomTheme | (id, identity) => ThemeDefinition / (id) => void | Kopiert ein voreingestelltes/benutzerdefiniertes Design oder entfernt ein benutzerdefiniertes Design. |
previewTheme | (theme, mode?) => PreviewHandle | Wendet eine gültige In-Memory-Vorschau an; Entsorgen stellt den formalen Zustand wieder her. |
exportTheme / importTheme | (id) => string / (json, options?) => ThemeDefinition | Exportiert ein gespeichertes Design oder importiert ein vollständig validiertes benutzerdefiniertes Design. |
reset | () => void | Setzt 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.