Référence API · Runtime du navigateur
@oriatheme/runtime-dom
Magasin externe du navigateur, application DOM atomique, persistance, Bootstrap et View Transition.Forfait et environnement
Importation sécurisée SSR ; Le démarrage, le stockage et les écritures DOM s'exécutent uniquement dans le navigateur.
pnpm add @oriatheme/presets @oriatheme/runtime-domnpm install @oriatheme/presets @oriatheme/runtime-domyarn add @oriatheme/presets @oriatheme/runtime-dombun add @oriatheme/presets @oriatheme/runtime-domUtilisez le gestionnaire de packages et le fichier de verrouillage déjà choisis par le projet consommateur. Les exemples utilisent uniquement les exportations racine du package ; n'effectuez pas d'importation approfondie à partir de modèles src, dist ou de registre.
API d'usine et de première peinture
| Exporter | Signature | Descriptif |
|---|---|---|
createOriaThemeRuntime | (config: OriaThemeConfig) => OriaThemeRuntime | Crée le magasin sécurisé SSR et le runtime DOM client. |
bootstrapTheme | (options?: BootstrapOptions) => void | Applique un instantané actif valide avant le montage du framework. |
createBootstrapScript | (options: BootstrapOptions) => string | Crée un script autonome pour un instantané fourni par l'appelant. |
createBootstrapStorageScript | (options?) => string | Crée un script d'amorçage LocalStorage sécurisé. |
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
| Exporter | Signature | Descriptif |
|---|---|---|
start / destroy | () => void | Attachez ou libérez les écouteurs du navigateur et la propriété DOM. |
getSnapshot / subscribe | () => ThemeSnapshot / (listener) => unsubscribe | Lisez ou abonnez-vous à la boutique externe. |
setTheme / setAppearance | (id | mode, options?) => void | Sélectionnez un thème existant ou une préférence utilisateur ; peut animer des actions explicites. |
createCustomTheme | ({ theme }) => ThemeDefinition | Conserve un thème personnalisé complet et valide. |
updateCustomTheme | (id, patch, options?) => ThemeDefinition | Met à jour un thème personnalisé existant uniquement. |
duplicateTheme / removeCustomTheme | (id, identity) => ThemeDefinition / (id) => void | Copie un thème prédéfini/personnalisé ou supprime un thème personnalisé. |
previewTheme | (theme, mode?) => PreviewHandle | Applique un aperçu en mémoire valide ; dispose restaure l’état formel. |
exportTheme / importTheme | (id) => string / (json, options?) => ThemeDefinition | Exporte un thème enregistré ou importe un thème personnalisé entièrement validé. |
reset | () => void | Renvoie les préférences d'exécution et l'état personnalisé à leur configuration initiale. |
Types et limites importants
OriaThemeConfig nécessite des préréglages et defaultThemeId ; le contrat est par défaut oria-standard@2, et les thèmes v1 persistants ne sont acceptés qu'avec une entrée de migrations explicitement enregistrée (sinon rejeté en toute sécurité). BootstrapOptions.contract, une fois déclaré, restaure uniquement les instantanés correspondant exactement. ThemeSnapshot expose les préférences, le mode résolu, le thème résolu, les listes prédéfinies/personnalisées et les erreurs. ThemeStorage peut remplacer la persistance par défaut et ThemeChangeOptions.animate est uniquement destiné aux actions explicites de l'utilisateur. Apparence persistante, mode jamais résolu.