OriaTheme
GitHub

API 참조 · 편집자 도메인

@oriatheme/editor-core

DOM, 스토리지 또는 프레임워크 종속성이 없는 초안, 필드 메타데이터, 스마트 스케일, 진단, 미리 보기 및 커밋 세션.

패키지 및 환경

순수 도메인 로직; 미리보기/저장만 소비자가 만든 런타임을 받습니다.

bash
pnpm add @oriatheme/editor-core

소비자 프로젝트에서 이미 선택한 패키지 관리자와 잠금 파일을 사용하세요. 예제에서는 패키지 루트 내보내기만 사용합니다. src, dist 또는 레지스트리 템플릿에서 깊이 가져오지 마세요.

Exports

수출서명설명
describeTokenContract(contract?) => readonly TokenFieldDescriptor[]안정적인 계약 주문 필드 메타데이터.
describeToken(path, contract?) => TokenFieldDescriptor | undefined하나의 편집기 필드를 찾습니다.
getTokenModeScope(path) => 'shared' | 'mode'표준 토큰 편집 범위를 반환합니다.
deriveSmartScale(input: SmartScaleInput) => readonly DerivedTokenValue[]디자이너 측 마스터 값을 확장합니다.
preserveScaleOverrides(derived, current, customized) => readonly DerivedTokenValue[]명시적으로 사용자 정의된 나뭇잎을 유지합니다.
createThemeEditorIdentity(source, existingThemes) => CloneIdentity사전 설정 편집을 위해 안정적이고 사용되지 않는 ID를 만듭니다.
createThemeEditorSession(options) => ThemeEditorSession프레임워크 독립적인 초안 세션을 만듭니다.

ThemeEditorSession

수출서명설명
getSnapshot / subscribe() => ThemeEditorSnapshot / (listener) => unsubscribe불변 편집기 상태를 읽거나 관찰합니다.
setName / setToken / setTokens(...) => void이름, 하나의 토큰 또는 원자 세트로 초안을 변경합니다.
removeToken / resetToken / resetMode / resetAll(...) => void초안 값을 설정 해제하거나 복원합니다.
replaceFromJson / exportJson(json) => ImportResult / () => stringAtomically import a draft or serialize it.
preview(runtime, mode?) => ThemeEditorPreviewResult미리보기는 유효한 전체 개정판만 미리 봅니다.
save(runtime) => ThemeEditorSaveResult사용자 정의 테마를 검증, 생성/업데이트하거나 충돌을 보고합니다.
reload / destroy(theme) => void / () => void외부 버전 또는 릴리스 세션 리소스를 채택합니다.

중요한 유형 및 경계

ThemeEditorOptions에는 소스가 필요하며 사전 설정을 편집할 때 ID가 필요합니다. ThemeEditorSaveResult가 유효성 검사 또는 충돌로 인해 실패합니다. ThemeEditorPreviewResult가 문제로 인해 실패합니다. 이 초안 상태 시스템을 React, Vue 또는 경로에 복사하지 마십시오.