Справочник по API · Среда выполнения браузера
@oriatheme/runtime-dom
Внешнее хранилище браузера, атомарное приложение DOM, постоянство, Bootstrap и View Transition.Упаковка и окружающая среда
SSR-безопасен для импорта; Запись start, Storage и DOM выполняется только в браузере.
pnpm add @oriatheme/presets @oriatheme/runtime-domnpm install @oriatheme/presets @oriatheme/runtime-domyarn add @oriatheme/presets @oriatheme/runtime-dombun add @oriatheme/presets @oriatheme/runtime-domИспользуйте менеджер пакетов и файл блокировки, уже выбранный потребительским проектом. В примерах используется только экспорт корня пакета; не выполняйте глубокий импорт из шаблонов src, dist или реестра.
Заводские API и API первой отрисовки
| Экспорт | Подпись | Описание |
|---|---|---|
createOriaThemeRuntime | (config: OriaThemeConfig) => OriaThemeRuntime | Создает SSR-безопасное хранилище и клиентскую среду выполнения DOM. |
bootstrapTheme | (options?: BootstrapOptions) => void | Применяет один действительный активный снимок перед монтированием платформы. |
createBootstrapScript | (options: BootstrapOptions) => string | Создает автономный сценарий для моментального снимка, предоставленного вызывающей стороной. |
createBootstrapStorageScript | (options?) => string | Создает безопасный сценарий начальной загрузки LocalStorage. |
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 предназначен только для явных действий пользователя. Сохраняется внешний вид, никогда не решаемый режим.