OriaTheme
GitHub

API 참조 · 브라우저 런타임

@oriatheme/runtime-dom

브라우저 외부 저장소, 원자 DOM 애플리케이션, 지속성, Bootstrap 및 뷰 전환.

패키지 및 환경

SSR로 안전하게 가져올 수 있습니다. start, Storage 및 DOM 쓰기는 브라우저에서만 실행됩니다.

bash
pnpm add @oriatheme/presets @oriatheme/runtime-dom

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

팩토리 및 첫 번째 페인트 API

수출서명설명
createOriaThemeRuntime(config: OriaThemeConfig) => OriaThemeRuntimeSSR 안전 저장소와 클라이언트 DOM 런타임을 생성합니다.
bootstrapTheme(options?: BootstrapOptions) => void프레임워크 마운트 전에 하나의 유효한 활성 스냅샷을 적용합니다.
createBootstrapScript(options: BootstrapOptions) => string호출자 제공 스냅샷에 대한 자체 포함 스크립트를 만듭니다.
createBootstrapStorageScript(options?) => string헤드 안전 LocalStorage 부트스트랩 스크립트를 생성합니다.
ts
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

수출서명설명
start / destroy() => void브라우저 리스너와 DOM 소유권을 연결하거나 해제합니다.
getSnapshot / subscribe() => ThemeSnapshot / (listener) => unsubscribe외부 저장소를 읽거나 구독하세요.
setTheme / setAppearance(id | mode, options?) => void기존 테마 또는 사용자 기본 설정을 선택합니다. 명시적인 작업을 애니메이션화할 수 있습니다.
createCustomTheme({ theme }) => ThemeDefinition완전히 유효한 사용자 정의 테마를 유지합니다.
updateCustomTheme(id, patch, options?) => ThemeDefinition기존 사용자 정의 테마만 업데이트합니다.
duplicateTheme / removeCustomTheme(id, identity) => ThemeDefinition / (id) => void사전 설정/사용자 정의 테마를 복사하거나 사용자 정의 테마를 제거합니다.
previewTheme(theme, mode?) => PreviewHandle유효한 메모리 내 미리보기를 적용합니다. dispose는 형식적 상태를 복원합니다.
exportTheme / importTheme(id) => string / (json, options?) => ThemeDefinition저장된 테마를 내보내거나 완전히 검증된 사용자 정의 테마를 가져옵니다.
reset() => void런타임 기본 설정 및 사용자 정의 상태를 초기 구성으로 되돌립니다.

중요한 유형 및 경계

OriaThemeConfig에는 사전 설정과 defaultThemeId가 필요합니다. 계약의 기본값은 oria-standard@2이며 지속형 v1 테마는 명시적으로 등록된 마이그레이션 항목을 통해서만 허용됩니다(그렇지 않으면 안전하게 거부됨). BootstrapOptions.contract는 선언되면 정확히 일치하는 스냅샷만 복원합니다. ThemeSnapshot은 기본 설정, 해결 모드, 해결 테마, 사전 설정/사용자 정의 목록 및 오류를 노출합니다. ThemeStorage는 기본 지속성을 대체할 수 있으며 ThemeChangeOptions.animate는 명시적인 사용자 작업에만 사용됩니다. 모양을 유지하고 해결되지 않은 모드입니다.