API 참조 · 브라우저 런타임
@oriatheme/runtime-dom
브라우저 외부 저장소, 원자 DOM 애플리케이션, 지속성, Bootstrap 및 뷰 전환.패키지 및 환경
SSR로 안전하게 가져올 수 있습니다. start, Storage 및 DOM 쓰기는 브라우저에서만 실행됩니다.
bash
pnpm add @oriatheme/presets @oriatheme/runtime-dombash
npm install @oriatheme/presets @oriatheme/runtime-dombash
yarn add @oriatheme/presets @oriatheme/runtime-dombash
bun add @oriatheme/presets @oriatheme/runtime-dom소비자 프로젝트에서 이미 선택한 패키지 관리자와 잠금 파일을 사용하세요. 예제에서는 패키지 루트 내보내기만 사용합니다. src, dist 또는 레지스트리 템플릿에서 깊이 가져오지 마세요.
팩토리 및 첫 번째 페인트 API
| 수출 | 서명 | 설명 |
|---|---|---|
createOriaThemeRuntime | (config: OriaThemeConfig) => OriaThemeRuntime | SSR 안전 저장소와 클라이언트 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는 명시적인 사용자 작업에만 사용됩니다. 모양을 유지하고 해결되지 않은 모드입니다.