Référence API · Domaine de l'éditeur
@oriatheme/editor-core
Brouillons, métadonnées de champ, balances intelligentes, sessions de diagnostic, de prévisualisation et de validation sans dépendance au DOM, au stockage ou au framework.Forfait et environnement
Logique de domaine pure ; seul l'aperçu/l'enregistrement reçoit un runtime créé par le consommateur.
bash
pnpm add @oriatheme/editor-corebash
npm install @oriatheme/editor-corebash
yarn add @oriatheme/editor-corebash
bun add @oriatheme/editor-coreUtilisez 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.
Exports
| Exporter | Signature | Descriptif |
|---|---|---|
describeTokenContract | (contract?) => readonly TokenFieldDescriptor[] | Métadonnées stables du champ de commande. |
describeToken | (path, contract?) => TokenFieldDescriptor | undefined | Recherche un champ d'éditeur. |
getTokenModeScope | (path) => 'shared' | 'mode' | Renvoie la portée d’édition du jeton standard. |
deriveSmartScale | (input: SmartScaleInput) => readonly DerivedTokenValue[] | Développe une valeur principale destinée au concepteur. |
preserveScaleOverrides | (derived, current, customized) => readonly DerivedTokenValue[] | Conserve les feuilles explicitement personnalisées. |
createThemeEditorIdentity | (source, existingThemes) => CloneIdentity | Crée une identité stable et inutilisée pour l'édition de préréglages. |
createThemeEditorSession | (options) => ThemeEditorSession | Crée la session de brouillon indépendante du framework. |
ThemeEditorSession
| Exporter | Signature | Descriptif |
|---|---|---|
getSnapshot / subscribe | () => ThemeEditorSnapshot / (listener) => unsubscribe | Lisez ou observez l’état immuable de l’éditeur. |
setName / setToken / setTokens | (...) => void | Modifiez le brouillon par son nom, un jeton ou un ensemble atomique. |
removeToken / resetToken / resetMode / resetAll | (...) => void | Annulez ou restaurez les valeurs de brouillon. |
replaceFromJson / exportJson | (json) => ImportResult / () => string | Atomically import a draft or serialize it. |
preview | (runtime, mode?) => ThemeEditorPreviewResult | Les aperçus complètent uniquement les révisions valides. |
save | (runtime) => ThemeEditorSaveResult | Valide, crée/met à jour des thèmes personnalisés ou signale un conflit. |
reload / destroy | (theme) => void / () => void | Adoptez une version externe ou publiez des ressources de session. |
Types et limites importants
ThemeEditorOptions nécessite une source et une identité lors de la modification d'un préréglage. ThemeEditorSaveResult échoue en cas de validation ou de conflit ; ThemeEditorPreviewResult échoue avec des problèmes. Ne copiez pas ce brouillon de machine à états dans React, Vue ou dans une route.