Für Anwendungsentwickler
Schnellstart für Entwickler
Starten Sie die Laufzeit mit veröffentlichten Paketen in React, Vue oder im Web und sorgen Sie dann dafür, dass vorhandene Komponenten auf ein Thema reagieren.Installieren Sie die Pakete für Ihr Framework
Installieren Sie in einem Verbraucherprojekt nur veröffentlichte Pakete von npm und behalten Sie den Paketmanager und die Sperrdatei bei, die das Projekt bereits verwendet.
bash
# React
pnpm add @oriatheme/presets @oriatheme/runtime-dom @oriatheme/react
# Vue 3
pnpm add @oriatheme/presets @oriatheme/runtime-dom @oriatheme/vue
# Framework-free web
pnpm add @oriatheme/presets @oriatheme/runtime-domVor dem Mounten wiederherstellen, dann die Laufzeit übernehmen lassen
Führen Sie zuerst Bootstrap aus, um den letzten erfolgreich gespeicherten Snapshot wiederherzustellen, und starten Sie dann die vollständige Laufzeit beim Mounten des Frameworks. Es validiert den Status erneut, verwaltet das Erscheinungsbild des Systems und schreibt Variablen atomar.
React
tsx
import { createRoot } from "react-dom/client";
import { OriaThemeProvider, useOriaTheme } from "@oriatheme/react";
import { oriaPresetThemes } from "@oriatheme/presets";
import { bootstrapTheme } from "@oriatheme/runtime-dom";
bootstrapTheme({ contract: { name: "oria-standard", version: 2 } });
function Controls() {
const { setTheme, setAppearance } = useOriaTheme();
return <>
<button onClick={() => setTheme("oria-ocean")}>Ocean</button>
<button onClick={() => setAppearance("dark")}>Dark</button>
</>;
}
createRoot(document.querySelector("#root")!).render(
<OriaThemeProvider config={{ presets: oriaPresetThemes, defaultThemeId: "oria-default" }}>
<Controls />
</OriaThemeProvider>,
);Vue
ts
import { createApp } from "vue";
import { createOriaTheme } from "@oriatheme/vue";
import { oriaPresetThemes } from "@oriatheme/presets";
import { bootstrapTheme } from "@oriatheme/runtime-dom";
import App from "./App.vue";
bootstrapTheme({ contract: { name: "oria-standard", version: 2 } });
createApp(App)
.use(createOriaTheme({ presets: oriaPresetThemes, defaultThemeId: "oria-default" }))
.mount("#app");Natives Web
ts
import { oriaPresetThemes } from "@oriatheme/presets";
import { bootstrapTheme, createOriaThemeRuntime } from "@oriatheme/runtime-dom";
bootstrapTheme({ contract: { name: "oria-standard", version: 2 } });
const runtime = createOriaThemeRuntime({
presets: oriaPresetThemes,
defaultThemeId: "oria-default",
});
runtime.start();
runtime.setTheme("oria-ocean");
runtime.setAppearance("system");
// Call runtime.destroy() when the app is removed.Vollständige Integrationen finden Sie in den Beispiel-Apps
Die drei offiziellen Beispiele spiegeln diesen Leitfaden wider – durchsuchen oder klonen Sie sie auf GitHub.
Überprüfen Sie das Ergebnis
htmlreceivesdata-oria-theme,data-oria-mode, and the correctcolor-scheme.- Beim Wechseln eines Themas werden Farbe, Radius, Schatten und die anderen Variablen gemeinsam aktualisiert.
- Persistenz speichert die Hell-, Dunkel- oder Systempräferenz – niemals den aufgelösten Modus.